{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "c37275c2",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "04677231",
   "metadata": {},
   "outputs": [],
   "source": [
    "from scipy.integrate import quad, dblquad, tplquad, nquad\n",
    "import matplotlib.patches as mpatches"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "cd9053da",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/javascript": [
       "IPython.notebook.set_autosave_interval(120000)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Autosaving every 120 seconds\n"
     ]
    }
   ],
   "source": [
    "%autosave 120"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "2e527529",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 1-order differential equation\n",
    "F=lambda x,y: y-2*x/y\n",
    "# parsing solution of y\n",
    "Solve_Y=lambda x:np.sqrt(1+2*x)\n",
    "# initial value\n",
    "initial_x=0\n",
    "initial_y=1\n",
    "# sep width\n",
    "h=0.1\n",
    "x_min=0\n",
    "x_max=5\n",
    "x=np.arange(x_min,x_max,h)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "87d23e31",
   "metadata": {},
   "source": [
    "## 前向欧拉"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "d2a02b7d",
   "metadata": {},
   "outputs": [],
   "source": [
    "Euler_polygonal_arc=[]\n",
    "for i in range(len(x)):\n",
    "    if x[i]==initial_x:\n",
    "        Euler_polygonal_arc.append(initial_y)\n",
    "    else:\n",
    "        Euler_polygonal_arc.append(Euler_polygonal_arc[i-1]+h*F(x[i-1],Euler_polygonal_arc[i-1]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "id": "b4dab190",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x,Solve_Y(x))\n",
    "plt.plot(x,Euler_polygonal_arc)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "29117281",
   "metadata": {},
   "source": [
    "# 隐式后向欧拉"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "5e8169e1",
   "metadata": {},
   "outputs": [],
   "source": [
    "def iter_back_Euler(x,y_,y,F,h,eps=1e-2,N=100):\n",
    "    v0=y-eps*10\n",
    "    v1=y\n",
    "    while N or abs(v1-v0)>eps:\n",
    "        v1=y_+h*F(x,v0)\n",
    "        v0=v1\n",
    "        N-=1\n",
    "    return y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "7defb54c",
   "metadata": {},
   "outputs": [],
   "source": [
    "Euler_polygonal_arc_back=[]\n",
    "for i in range(len(x)):\n",
    "    if x[i]==initial_x:\n",
    "        Euler_polygonal_arc_back.append(initial_y)\n",
    "    else:\n",
    "        Euler_polygonal_arc_back.append(iter_back_Euler(x[i],Euler_polygonal_arc_back[i-1],Euler_polygonal_arc_back[i-1]+h*F(x[i-1],Euler_polygonal_arc_back[i-1]),\\\n",
    "                                                        F,h))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "4d572f7d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZMAAAEWCAYAAACjYXoKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAtZElEQVR4nO3deZwU1bn/8c/DJgioUbigDormekWBAXEAFVC4oqJyXeMGGneigno1mcTE/NQkxuh4b6LGRG9MIq6oMWIw7lEQUYwMBmWNIoIMqAwQFRxQhnl+f1TN2NN09/TQe/f3/Xr1q7u2U6eqq/upc05VHXN3REREUtEm1xkQEZHCp2AiIiIpUzAREZGUKZiIiEjKFExERCRlCiYiIpKyog4mZjbDzC7KdT4amVlvM3Mza5frvMRjZpPN7MYW5hlpZjW5WHemZWrbklx3Wo+PMK1/jzPtWTM7Nx3rkebM7Edm9vsE088zs1mtSG+5mY1OT+4yJ++DSbgjN5nZxojXnbnOl0iqcvkn4e7Huvt9uVh3JpnZrmY21cy+MLMVZjauhflnmNnmiP+Wf6aaB3e/yd0vCtPPmxNIMzvSzJaYWZ2ZTTezvRPMO8nMqs3sSzObnEz6eR9MQv/l7l0iXpMyubJ8+OIl8/Q9py4P9+FvgK+AHsB44C4z69vCMpMi/lv2z3gOc8DMugFPAP8P2BWoBh5NsMhq4Ebgj8muo1CCSUxmdoOZPRgxnPAswMwuMLPFZvYvM3s+MjKHy000s/eA91pYr5vZFWa2zMzWmtmtZtYmnNbGzH4cnhWtMbP7zWznGGmcZmZzo8Z918yeDD/vZmZPmdnnZjbHzG6MLBqb2WHh+M/C98Mips0ws5+Z2WtmtsHMXggPpsbpfzKzj8NlZybxY4u3H34Ubv9yMxsfMf54M/tHmPeVZnZD1HLDzex1M/s0nH5ejLS7hmdPd5jZPuG8jfv492a2JmLeB83sv8PP54ff8Ybw+/lOxHwjzazGzH5gZh8D95pZJwuq1/5lZouAwS1ss5vZZWb2XriOn5nZN81sdri9j5lZh4j5x5rZvDD/r5tZeTj+AWAv4KnwjPj7EasZb2Yfhvv22oi0djCz28xsdfi6zcx2iJheaWYfhdMuaGE7mqqALax2MbP/CffDB2Z2bIJll4f78B3gCzNrZ2bXmNn74T5ZZGYnR8yfMP3w+50ZLvs3M/uNNf9dHxJxvLxtZiPj5KszcCrw/9x9o7vPAqYB5yTaF8my4Dd9cPj57PBYODAcvsi+/u1G/i/NDN8/Db/nQyPSS2p/hwaa2Tvhb/ZRM+vYyuyfAix09z+5+2bgBmCAmfWJNbO7P+HuTwLrkl6Du+f1C1gOjI4z7QbgwYjh3oAD7cLhGcBF4eeTgKXAAUA74MfA6xHLOvAiQdTu1EKeHJgezrsX8G7Eei4I17Mv0IXgbOCB6PwBOwDrgQMi0v0HcGr4+ZHwtSNwILASmBVO2xX4F8GPpB1wVji8W8R2vw/8B9ApHL45Yj0XAF3DPNwGzIuYNhm4sYXtHwnUA78M0zgC+ALYP2J6f4KTlXLgE+CkcNpewIYwz+2B3YCBkesOx70ZmQ/gQ+Dg8PM/gWWN+y6cdlD4+Xjgm4CF+aoDBkXl+5Yw352Am4FXw33aC1gA1LTw3U8DdgL6Al8CL4Xf987AIuDccN5BwBpgKNAWOJfgeN4h1rHN18fHPWHeBoTpN27nT4E3gH8DugOvAz8Lp40J93M/oDPwcJjWv8fZjhl8fcyeB2wBLg7zeSnBmakl+E3OC/dXp3DcacAe4Xd+Rng87J5M+sBs4H+ADsBw4HPC3zWwJ8Ef2nFh2keFw91j5OsgYFPUuO8BTyX4PmcAtcBa4DVgZIJ57we+G37+HcFv7NKIaVdF/y8R9Z+Uwv5+M9y/uwKLgUsifk+fJniNC+e7HbgrKt0FhP83Cbb5RmByUv/VycyUy1e4IzdG7aCLo7+0WF8czX8wzwIXRszbhuCPZu+IP4n/TDJPDoyJGL4MeCn8/BJwWcS0/cMDp12M/N0F/Dz83JcgIOwQHmBbCP+cI77UxmByDvBmVJ5mA+dFbPePo/L3XJxt2SXM087h8GSSDyadI8Y9RnBGGGv+24BfhZ9/CEyNM99kgmL1AqAyatoDwNVAT4JgUgVcAuwTHhNt4qT5JHBlRL6/AjpGTF8W9V1OoOVgMixieC7wg4jh/wVui/h+fxa1/D+BIyKO7VjBpCxi3JvAmeHn94HjIqYdAywPP/+R5icM/0HrgsnSiGk7hsv2TPCbvKCFY2QecGJL6RP8GdYDO0ZMf5Cv/4x/QHgyFjH9ecKAHTV+BPBx1LiLgRkJ8jmUr0+sziU40flmnHkvBKaFnxcDFwGPhMMr+Pqk5QZaDiat3d9nRwxXAXcn2v8x0vhD5PERjnuN8D8jwXJJB5NCqeY6yd13iXjdsx1p7A3cHhaVPyUoFRjBmU+jla1IL3LeFQRnDYTvK6KmtSOow412HzDOzIwgQDzm7l8SnHW2i1pH5OfodTSuJ3JbPo74XEdQSsLM2prZzWGVxOcEBypAN1rnX+7+RdT69wjXMTSsoqo1s88I/vQb0+9F8KcYz/EEZ+V3R41/hSAYHE5QdTCDoORxBPCquzeE6z7WzN4ws/Xh93xc1LbVelDMb7QH236XLfkk4vOmGMNdws97A99tPObC/PTi62MlnpjfHbGPrcjjrrXbEXOd7l4XfuwSZ16i1oWZfTuiOu9TghJS5H6Pl/4ewPqIcdFp7w2cFrUPhwO7x8jTRoISY6SdCAJE4xVsjQ3t48O8/N3dN7j7lx5ckPAawTETyyvACDPrSXDC9ygwzMx6E5RK58VZLpbW7u94x0SyEu6bdCiUYBLPFwRRvVHPBPOuBL4TFZQ6ufvrEfN4K9bdK+LzXgTFVML3vaOm1dP8DydYmfsbBGfKI4BxBGffEBS764GyOOuLXkfjelYlke9xwInAaIIfQO9wvCWxbKRvhHXUketv3AcPE1QF9XL3nQkCQ2P6KwmqoeK5B3gOeCYq/VcI9tPI8PMsYBhBMHkFgjYF4M8EVSY93H0X4JmobYv+jj9i2+8yXVYSlDwjj7kd3X1KnLy0JNax1bjPM7kdsTTl3YK2x3uASQRVrbsQlC6TOaY+AnY1s8jfceR2rCQomUTuw87ufnOMtN4F2pnZfhHjBgALoekKtsaG9ocSbFfMfLv7UoI/8iuAme6+geBPfgJBrUFDnPQyxsz2suZXuka/GtsyFxLsi8blOhP8DhemKy+FHkzmAYeHO3RngiqUeO4GfmhhY7OZ7Wxmp6Ww7koz+4aZ9QKu5OsrI6YAV4WNil2Am4BH3b0+Tjr3A3cC9R40GOLuWwnaWm4wsx3DRrJvRyzzDPAfZjYubPw8g6Bd5a9J5LsrQT38OoJAfFMrtjnaT8ysg5mNAMYCf4pYx3p332xmQwgCWKOHgNFmdnqY993MbGBUupMIqoP+amadANz9PYKz/rMJfsifEwToUwmDCUGd+w6EwThs1Dy6hW14jOC4+IaZlQGXt3IfJHIPcElYUjMz62zBxQldw+mfELS1JGsK8GMz627BBRXXEVQJQbAd55nZgeEf8/Xp2ogkdCb406yF4CIIgpJJi9x9BcGVRTeEx9KhwH9FzPIg8F9mdkxYqu5owYUUZTHS+oLgd/PTcF8PIzhxeiB63jCfu4TpdgyPxfEEJd/nE2T5FYLjs/GYmxE1HK0WaKB133PS3P1Db36la/SrMWhOBfqZ2alh4/11wDvuviRWuuH+6EhQAmvc7wmv3CuUYNJ4xUvjayqAu79I8Cf+DkHdddw/U3efStDw+khYvbMAaOkKikT+Eq5zHvA0QZ0kBHXXDxBUxXwAbCbxH9QDBD+86AN+EkHJ4eNw2hSCIIC7ryP48/4uQVD4PjDW3dcmke/7CapAVhE0Fr+RxDKxfEzQxrOaIEBcEnFgXkbwg95AcNA+1riQu39IUI3wXYKqxnlEnDGF8zjB2d5K4C8RV668AqwL02gcNoILFwjPFK8I1/cvgiA2rYXt+AnB/vgAeIE4fzzbw92rCers7wzzs5SgvrzRLwiCw6dm9r0kkryR4I/3HWA+8FY4Dnd/lqBt6uVwPS+nZSOS4O6LCNqKZhMEyP4E1UXJGg8cSnAs30jwm2481lcSBIQfEfwxrwQqif/fdRlBNekagt/Mpe4e7+y7fbi+xgb4ywmq1BPda/IKwcnSzDjDzYRVWD8HXgu/50MSpJ0x7l5LcOL1c4JjcShwZuN0C67MfDZikR8TnLxdQ3ACtykcF1fj1RTSCmbmwH5hsTfVtBoP/EHh2Xe8+W4haKA7N9V1iuQzM3sUWOLu2SxdSYoKpWRSzC4F5kQHEjPrY2blYfXIEIIrSabmJIciGWRmgy24V6eNmY0hKIk8meNsSSvl292reSFsA3g21jR3b+1VFInWs5ygmuakGJO7EhTT9yAoufwvQdVaVpjZjwiqFqK96u6pVA+KROtJ0NaxG1BDUDX1j9xmSVpL1VwiIpIyVXOJiEjKiqqaq1u3bt67d+9cZ0NEpGDMnTt3rbt3TzWdogomvXv3prq6OtfZEBEpGGbW2qclxKRqLhERSZmCiYiIpEzBREREUlZUbSaxbNmyhZqaGjZv3tzyzCIZ1LFjR8rKymjfvn2usyKSdkUfTGpqaujatSu9e/fGrLUPxhVJD3dn3bp11NTUsM8+++Q6OyJpV/TVXJs3b2a33XZTIJGcMjN22203lZClaBV9MAEUSCQv6DiUjNmyJdc5KI1gIiJSlNxhyhTo0CF4z+HjsTIWTMzsj2a2xswWRIx71IKuPeeZ2XIzmxdn2eVmNj+cL613Ifbs2RMzS9urZ89EnTuKiGTYuHHN33MkkyWTycCYyBHufoa7D3T3gQTdqz6RYPlR4bwV6czUJ59s03tuxtNr27YtAwcOpF+/fpx22mnU1dW1uExLDjvssJTTiPTJJ58wduxYBgwYwIEHHshxx8XrBjuwfPly+vVruTO9m25q3pFjuvMtUtLMoLIy+FxZGQznSMaCibvPJOhJbxsWVB6fTvCI9aLXqVMn5s2bx4IFC+jQoQN33313UsvV18fr6Rdef/31uNO2x3XXXcdRRx3F22+/zaJFi7j55lhdbLdedDBJd75FSl5VVVC9VVWV02zkqs1kBPBJgp4FHXjBzOaa2YRECZnZBDOrNrPq2tratGc03UaMGMHSpUt56qmnGDp0KAcddBCjR49uKuHccMMNTJgwgaOPPppvf/vbLFy4kCFDhjBw4EDKy8t5771gl3XpEnSrMmPGDEaOHMm3vvUt+vTpw/jx42nsVuCZZ56hT58+DB8+nCuuuIKxY8fGzddHH31EWdnX3WqXl5cDwSWtlZWV9OvXj/79+/Poo49us+zkyZOZNGlS0/DYsWOZMWMG11xzDZs2bWLgwIGMHz++Wb7jpZtoe0Qkj7l7xl5Ab2BBjPF3Ad9NsNwe4fu/AW8DhyezvoMPPtijLVq0qNkwQaBK66slnTt3dnf3LVu2+AknnOC//e1vff369d7Q0ODu7vfcc49fffXV7u5+/fXX+6BBg7yurs7d3SdNmuQPPvigu7t/+eWXTeMb05w+fbrvtNNOvnLlSt+6dasfcsgh/uqrr/qmTZu8rKzMly1b5u7uZ555ph9//PFx8/jcc8/5zjvv7CNHjvQbb7zRV61a5e7ujz/+uI8ePdrr6+v9448/9l69evnq1av9gw8+8L59+7q7+7333usTJ05sSuv444/36dOnN8tn9L6Il2687SkW0cejSK4B1Z6G//usl0zMrB1wCrDtKW7I3VeH72sIuqodkp3cZUbj2XlFRQV77bUXF154ITU1NRxzzDH079+fW2+9lYULFzbNf8IJJ9CpUycADj30UG666SZuueUWVqxY0TQ+0pAhQygrK6NNmzYMHDiQ5cuXs2TJEvbdd9+mG+TOOuushHk85phjWLZsGRdffDFLlizhoIMOora2llmzZnHWWWfRtm1bevTowRFHHMGcOXNS3ieJ0o21PSKS33JRzTUaWOLuNbEmmllnM+va+Bk4GlgQa95C0dhmMm/ePH7961/ToUMHLr/8ciZNmsT8+fP5v//7v2Y3s3Xu3Lnp87hx45g2bRqdOnXimGOO4eWXX94m/R122KHpc9u2bamvr9+uqqFdd92VcePG8cADDzB48GBmzpyZVDrt2rWjoaGhaTiZG/MSpRtre0Qkv2Xy0uApwGxgfzOrMbMLw0lnEtXwbmZ7mNkz4WAPYJaZvQ28CTzt7s+lK189evRIV1IppffZZ5+x5557AnDffffFnW/ZsmXsu+++XHHFFZxwwgm88847SaXfp08fli1b1nRWH6utI9LLL7/cdJXZhg0beP/999lrr704/PDDefTRR9m6dSu1tbXMnDmTIUOaFxR79+7NvHnzaGhoYOXKlbz55ptN09q3b8+WGDdUJZOuiBSOjD2by91j1qu4+3kxxq0Gjgs/LwMGZCpfH3/8caaSbpUbbriB0047jT333JNDDjmEDz74IOZ8jz76KA8++CDt27enZ8+eXHfddUml36lTJ377298yZswYunXr1uIf9dy5c5k0aVJTKeOiiy5i8ODBVFRUMHv2bAYMGICZUVVVRc+ePZtVPQ0bNox99tmH/v37069fPwYNGtQ0bcKECZSXlzNo0CAeeuihpvEnn3xyzHSXLFmS1PaJSH6x7akOyVcVFRUe3dPi4sWLOeCAA3KUo9zauHEjXbp0wd2ZOHEi++23H1dddVWus1XSSvl4lPxkZnM9Dffz6XEqReyee+5h4MCB9O3bl88++4zvfOc7uc6SiBSpon8EfSm76qqrtimJ3Hvvvdx+++3Nxg0bNozf/OY32cyaiBQZBZMSc/7553P++efnOhsiUmRUzSUiIilTMBERkZQpmIiISMpKL5j07Bk8pjldL/VnIiJSgsEkzf2ZJJNeY38mja+WHu8e/RTebGp8qm8uZXv7k+2bpSUzZsxI+GRmkZTlQfe88ehqrixofDZXptTX19Ounb7KSNonUlTc4ZFHgt4UH34Yzjwzpx1hxVJ6JZM80rt3b9auXQtAdXU1I0eO3Gae2tpaTj31VAYPHszgwYN57bXXgG37PYll8uTJnHjiiYwZM4b999+fn/zkJ03TfvnLX9KvXz/69evHbbfdts2y55xzDn/5y1+ahsePH8+0adOoq6vj9NNPp7y8nDPOOIOhQ4fS+NSBKVOmND1S5Qc/+EHTsl26dOHaa69lwIABHHLIIU19t8Tr06UlyfYF88knn3DyySczYMAABgwYkLBjrvr6es4991zKy8v51re+1fScsp/+9KcMHjyYfv36MWHChKYHVC5dupTRo0czYMAABg0axPvvv98svTlz5nDQQQexbNmypLZJpEV50j1vXOl4jn2+vJLpz8SDGJ/eVwvatGnjAwYMaHo98sgj7u6+9957e21trbu7z5kzx4844gh3b94/yFlnndXUn8eKFSu8T58+7r5tvyex3Hvvvd6zZ09fu3at19XVed++fX3OnDleXV3t/fr1840bN/qGDRv8wAMP9Lfeesvdv+5vZMaMGX7iiSe6u/unn37qvXv39i1btvitt97qEyZMcHf3+fPne9u2bX3OnDm+atUq79Wrl69Zs8a3bNnio0aN8qlTp4a7HJ82bZq7u1dWVvrPfvYzd/e4fbpE948SLdm+YE4//XT/1a9+5e7u9fX1/umnn8ZM74MPPnDAZ82a5e7u559/vt96663u7r5u3bqm+c4+++ym7RgyZIg/8cQT7u6+adMm/+KLL3z69Ol+/PHH+2uvveaDBg3yFStWbLMu9Wci262yMvi/qaxMa7KkqT8T1QNkQSrVXH/7299YtGhR0/Dnn3/Ohg0bgOb9nsRz1FFHsdtuuwFwyimnMGvWLMyMk08+uelR96eccgqvvvoqBx10UNNyRxxxBBMnTmTNmjU88cQTnHrqqbRr145Zs2Zx5ZVXAtCvX7+mHhnnzJnDyJEj6d69OxCUZGbOnMlJJ51Ehw4dmtoSDj74YF588UUAampqOOOMM/joo4/46quvmvpeaUmi5SL3ycsvv8z9998PBO1WO++8c9w0e/XqxbBhwwA4++yzueOOO/je977H9OnTqaqqoq6ujvXr19O3b19GjhzJqlWrOPnkkwHo2LFjUzqLFy9mwoQJvPDCC+yxxx5JbY9IUqqqct41byKq5sqhyH5A4vUB0tDQwOzZs5v6Q1m1ahVdu3YFmvd7Eo9F1auaWdJ9nZxzzjk89NBD3HvvvU13zcdbNlGa7du3b8pHZP8kifp0SSTZvmBaI9Z+2rx5M5dddhmPP/448+fP5+KLL2bz5s0Jt3X33XenY8eO/OMf/9iufIgUqtILJmnuzySV9Hr37s3cuXMB+POf/xxznqOPPpo777yzabi1JZwXX3yR9evXs2nTJp588kmGDRvG4YcfzpNPPkldXR1ffPEFU6dOZcSIEdsse9555zW1p/Tt2xeA4cOH89hjjwGwaNEi5s+fD8DQoUN55ZVXWLt2LVu3bmXKlCkcccQRCfOWbJ8u27vckUceyV133QXA1q1b+fzzz+PO++GHHzJ79mwgaPsZPnx4U5Dq1q0bGzdu5PHHHwdgp512oqysjCeffBKAL7/8sqmNZZddduHpp5/mRz/6ETNmzEh6m0QKXekFk48/Tm+LSRL9ozR229v4uuaaawC4/vrrufLKKxkxYgRt27aNuewdd9xBdXU15eXlHHjggdx9992t2tzhw4dzzjnnMHDgQE499VQqKioYNGgQ5513HkOGDGHo0KFcdNFFzaq4GvXo0YMDDjig2bO8LrvsMmpraykvL+eWW26hvLycnXfemd13351f/OIXjBo1qqlR+sQTT0yYt8Y+XUaMGEG3bt2S3qZkl7v99tuZPn06/fv35+CDD27WNXK0Aw44gPvuu4/y8nLWr1/PpZdeyi677MLFF19M//79Oemkkxg8eHDT/A888AB33HEH5eXlHHbYYc36yenRowdPPfUUEydO5O9//3vS2yVSyNSfSRGbPHky1dXVzUo2rVFXV0f//v156623mtobtm7dypYtW+jYsSPvv/8+Rx55JO+++y4dOnRIZ9aLVikfj5Kf0tWfiRrgJaa//e1vXHDBBVx99dXNGq7r6uoYNWoUW7Zswd256667FEhERMGkGDz//PPN7usA2GeffZg6dSrnnXfedqU5evRoPvzww23Gd+3alejSX6b8/Oc/509/+lOzcaeddhrXXnvtdqW3bt06jjzyyG3Gv/TSS01XvInI9imJaq4+ffpsc7WOSLa5O0uWLFE1l+SVvO+218z+aGZrzGxBxLgbzGyVmc0LX8fFWXaMmf3TzJaa2TWp5KNjx46sW7cu6cthRTLB3Vm3bl2ze1JEikkmq7kmA3cC90eN/5W7/0+8hcysLfAb4CigBphjZtPcfVG8ZRIpKyujpqaG2tra7VlcJG06duxIWVlZrrMhkhEZCybuPtPMem/HokOApe6+DMDMHgFOBLYrmLRv3z7pO6tFRGT75OI+k0lm9k5YDfaNGNP3BFZGDNeE42IyswlmVm1m1Sp9iIjkRraDyV3AN4GBwEfA/8aYJ1ZLedwGD3f/nbtXuHtF43OhREQKWh73WxJPVoOJu3/i7lvdvQG4h6BKK1oN0CtiuAxYnY38iYjklDtMmQIdOgTvBXThUFaDiZntHjF4MrAgxmxzgP3MbB8z6wCcCUzLRv5ERHIu3/stiSOTlwZPAWYD+5tZjZldCFSZ2XwzewcYBVwVzruHmT0D4O71wCTgeWAx8Ji7x3+okohIsTCDysrgc2Vl3vWmmEjR37QoIiLx5f1NiyIiUjoUTEREJGUKJiIikjIFExERSZmCiYiIpEzBREREUqZgIiIiKVMwERGRlCmYiIhIyhRMREQkZQomIiK5UoCPmo9HwUREJNsK+FHz8SiYiIjkQoE+aj4eBRMRkWwr4EfNx6NH0IuIlDA9gl5ERPKGgomIiKRMwURERFKmYCIiIilTMBERkZQpmIiISMoyFkzM7I9mtsbMFkSMu9XMlpjZO2Y21cx2ibPscjObb2bzzEzX+oqI5LlMlkwmA2Oixr0I9HP3cuBd4IcJlh/l7gPTcf2ziIhkVsaCibvPBNZHjXvB3evDwTeAskytX0REsieXbSYXAM/GmebAC2Y218wmJErEzCaYWbWZVdfW1qY9kyIiKSmiJwMnkpNgYmbXAvXAQ3FmGebug4BjgYlmdni8tNz9d+5e4e4V3bt3z0BuRUS2QxE+GTiRrAcTMzsXGAuM9zgPBnP31eH7GmAqMCR7ORQRSZMiezJwIlkNJmY2BvgBcIK718WZp7OZdW38DBwNLIg1r4hI3irCJwMnkslLg6cAs4H9zazGzC4E7gS6Ai+Gl/3eHc67h5k9Ey7aA5hlZm8DbwJPu/tzmcqniEjGVFUF1VtVVbnOSca1y1TC7n5WjNF/iDPvauC48PMyYECm8iUiIumnO+BFRCRlCiYiIpIyBRMREUmZgomIiKRMwURERFKmYCIiIilTMBERkZQpmIiIpEOJPNAxHgUTEZFUlNgDHeNRMBERSVUJPdAxHgUTEZFUlNgDHeOxOE+BL0gVFRVeXa0u40VEkmVmc9PRPbpKJiIikjIFExERSZmCiYiIpEzBREREUqZgIiIiKVMwERGRlCmYiIi0Rok/NiUeBRMRkWTosSkJZSyYmNkfzWyNmS2IGLermb1oZu+F79+Is+wYM/unmS01s2sylUcRkVbRY1PiymTJZDIwJmrcNcBL7r4f8FI43IyZtQV+AxwLHAicZWYHZjCfIiIt02NTEspYMHH3mcD6qNEnAveFn+8DToqx6BBgqbsvc/evgEfC5UREcquqKqjeqqrKdU7yTrbbTHq4+0cA4fu/xZhnT2BlxHBNOE5ERPJUPjbAxyo7xm3pMrMJZlZtZtW1tbUZzJaIiMST7WDyiZntDhC+r4kxTw3QK2K4DFgdL0F3/527V7h7Rffu3dOaWRERSU62g8k04Nzw87nAX2LMMwfYz8z2MbMOwJnhciIikqcyeWnwFGA2sL+Z1ZjZhcDNwFFm9h5wVDiMme1hZs8AuHs9MAl4HlgMPObuCzOVTxERSV27TCXs7mfFmXRkjHlXA8dFDD8DPJOhrImItGzLFmjfPte5KBj52AAvIpI7utN9u7QYTMxsUrw71UVEipLudG+1ZEomPYE5ZvZY+JgT3fYpIsVLd7pvF/MkinBhADkaOB+oAB4D/uDu72c2e61TUVHh1dXVuc6GiEjBMLO57l6RajpJtZl4EHE+Dl/1wDeAx81MzxQQEZGWr+YysysI7glZC/weqHT3LWbWBngP+H5msygiIvkumUuDuwGnuPuKyJHu3mBmYzOTLRERKSQtBhN3vy7BtMXpzY6IiBQi3WciIqVLXfCmjYKJiJQe3ZiYdgomIlKadGNiWimYiEjp0Y2JaZfUTYuFQjctioi0TlZvWhQREUlEwURERFKmYCIiIilTMBGR4qf7STJOwUREipfuJ8kaBRMRKW66nyQrFExEpHjpfpKs0X0mIiIlrGDvMzGz/c1sXsTrczP776h5RprZZxHzxH1ysYiI5F4y/Zmklbv/ExgIYGZtgVXA1Bizvuru6i9FRKQA5LrN5Ejg/eiOt0REpLDkOpicCUyJM+1QM3vbzJ41s77xEjCzCWZWbWbVtbW1mcmliBQG3U+SMzkLJmbWATgB+FOMyW8Be7v7AODXwJPx0nH337l7hbtXdO/ePSN5FZE8p/tJci6XJZNjgbfc/ZPoCe7+ubtvDD8/A7Q3s27ZzqCIFBDdT5JTuQwmZxGnisvMepoFF4Sb2RCCfK7LYt5EpJDofpKcy8l9Jma2I7AS2NfdPwvHXQLg7neb2STgUqAe2ARc7e6vt5Su7jMREWmddN1nkvVLgwHcvQ7YLWrc3RGf7wTuzHa+RERk++T6ai4RkdbTVVt5R8FERAqHrtrKWwomIlJYdNVWXlIwEZHCoau28paeGiwiUsIK9qnBIiJSfBRMRCR/6aqtgqFgIiL5R1dtFRwFExHJT7pqq6AomIhI/tFVWwVHV3OJiJQwXc0lIiJ5Q8FERHJLV2wVBQUTEckNXbFVVBRMRCR3dMVW0VAwEZHc0BVbRUVXc4mIlDBdzSUihUUN7UVNwUREMksN7SVBwUREMk8N7UUvJ8HEzJab2Xwzm2dm2zRyWOAOM1tqZu+Y2aBc5FNE0kAN7SWhXQ7XPcrd18aZdiywX/gaCtwVvotIvtuyBdq3bz6uqip4SdHK12quE4H7PfAGsIuZ7Z7rTIlIAmobKWm5CiYOvGBmc81sQozpewIrI4ZrwnEiks/UNlKychVMhrn7IILqrIlmdnjU9FiVqjFPc8xsgplVm1l1bW1tuvMpIslS20hJy0kwcffV4fsaYCowJGqWGqBXxHAZsDpOWr9z9wp3r+jevXsmsisiscS6b6SqKqjeUvtIycl6MDGzzmbWtfEzcDSwIGq2acC3w6u6DgE+c/ePspxVEYlFbSMSQy5KJj2AWWb2NvAm8LS7P2dml5jZJeE8zwDLgKXAPcBlOciniMSjthGJkvVLg919GTAgxvi7Iz47MDGb+RKRJDW2jdx6q9pGpIke9CgiicW6b0SKhh70KCKZpbYRaQUFExGJT20jkiQFExGJfZmv7huRVlAwESllLVVl6b4RSZKCiUipU1WWpIGCiUgpia7OUlWWpImCiUgpSFSdpaosSQMFE5FiFKtBXdVZkkEKJiLFJF4JRNVZkmG6A16kkEXfne4ObSLOERsaFDgkId0BL1LKVAKRPKOSiUghUAlEMkQlE5FSoBKIRNgS68KKBOOzScFEJF/E+0OIdxWWLuktCIn+6JMNDu7OlClT6NChA1OmTKGxRine+FxQMBHJtUT3gKgEkndSDQCJpiVaZlx4MjEu6qQi3visc/eieR188MEukve++qr5cEODexBCgldDQ27yVcS+it7nLYyPNa2hocEffvhhB/zhhx/2hvB7SjQeaHo1RHyv8aYlWqaystIBr6ysbJaveOOTBVR7Gv5/cx4A0vlSMJG8EitoPPxw8LN7+OHmQaOyMhi/nX8Ixaq1QSDVANDSMukKAImmpRocWkvBRMFE8lW8oFHiJZDWBIbtKQWkKwDkonSQSwomCiaSL1pTbVVEJZBMlw5aEwTSHQAKOTi0loKJgolkU6w/zgKstsqntoNEAcC99UGglAJAOhVsMAF6AdOBxcBC4MoY84wEPgPmha/rkklbwURS1pp2jjyotir0tgMFgNwr5GCyOzAo/NwVeBc4MGqekcBfW5u2gokkLdmg0VLASGMJJN9KBwoOpaFgg8k2GYC/AEdFjVMwkfRIR9DYzoCRaqkh0TS1HUi6FEUwAXoDHwI7RY0fCawD3gaeBfomSGMCUA1U77XXXmnbwVJgMhw08u1+hCC7Kh1I6go+mABdgLnAKTGm7QR0CT8fB7yXTJoqmRS51jSCpylo5LrU0NI0kVQVdDAB2gPPA1cnOf9yoFtL8ymYFIl0NYLHCBoqNYg0V7DBBDDgfuC2BPP05OvH4w8Jq8KspbQVTPJUvCqiNFRNNTQ0+MKxY93BF44dm5GGaJUapJgVcjAZHv5g3+HrS3+PAy4BLgnnmURw2fDbwBvAYcmkrWCSY60JDq0IGvECRuO0bDREixSrgg0mmXwpmGRBGtotGrZubTa+YevWcPb4pYx4gcFdwUEkFQomCiaZ1Yp2i+0JDjeH896chqomEdl+6Qom6s+kVMTrg6GurvkI95h9a7h7s06aPBwPgBm3hB9vCYcb9f3rX7Hw/evZjXWVlRgE7+H8ZkZl2HdHZcR4gKqqKtydKnUEJZKXFEyKSayAES84NDTw+uWX075zZ16//HK8oSGcPU7QSBAw0hkcFDREClQ6ijf58iqVaq6vvvii+YjtqYJKUDUVqwrKXVVNIsUIVXMVv+gqqFaXJiBuicLatGH64MEATB88GGvTJpw9dikDVGoQkfgUTPJAskED4LA772z2DmxXFRTAqDffBPfgPYKChoi0loJJFqUaNLanNAEKDiKSedasSqTAVVRUeHV1dU7zsKWujvY77thsnDc0MPvKKznszjt5fdIkDr39dqxNG7yhAWvb9uv5tm5tChDThwxh1Jw5TB88eJuSg4hIupjZXHevSDUdlUy2U2tKGdC6kgbEr4ISEclHCiYtSLk9AwUNESl+CiahTLVnNFLQEJFiVvLBJJ1BQwFDREpVyTfAqxFcREqZGuDTRCUNEZHUtct1BvJBY7AYleN8iIgUqpIvmYiISOoUTEREJGUKJiIikjIFExERSZmCiYiIpEzBREREUqZgIiIiKSuqO+DNrBZYsZ2LdwPWpjE7hULbXVq03aUlme3e2927p7qiogomqTCz6nQ8UqDQaLtLi7a7tGRzu1XNJSIiKVMwERGRlCmYfO13uc5Ajmi7S4u2u7RkbbvVZiIiIilTyURERFKmYCIiIikr+WBiZmPM7J9mttTMrsl1frLFzP5oZmvMbEGu85JNZtbLzKab2WIzW2hmV+Y6T9lgZh3N7E0zezvc7p/kOk/ZZGZtzewfZvbXXOclW8xsuZnNN7N5Zta6Lmi3Z32l3GZiZm2Bd4GjgBpgDnCWuy/KacaywMwOBzYC97t7v1znJ1vMbHdgd3d/y8y6AnOBk4r9OzczAzq7+0Yzaw/MAq509zdynLWsMLOrgQpgJ3cfm+v8ZIOZLQcq3D0rN2uWeslkCLDU3Ze5+1fAI8CJOc5TVrj7TGB9rvORbe7+kbu/FX7eACwG9sxtrjLPAxvDwfbhqyTOJM2sDDge+H2u81LMSj2Y7AmsjBiuoQT+WCRgZr2Bg4C/5zgrWRFW9cwD1gAvuntJbDdwG/B9oCHH+cg2B14ws7lmNiHTKyv1YGIxxpXE2VqpM7MuwJ+B/3b3z3Odn2xw963uPhAoA4aYWdFXb5rZWGCNu8/NdV5yYJi7DwKOBSaGVdsZU+rBpAboFTFcBqzOUV4kS8I2gz8DD7n7E7nOT7a5+6fADGBMbnOSFcOAE8L2g0eA/zSzB3Obpexw99Xh+xpgKkG1fsaUejCZA+xnZvuYWQfgTGBajvMkGRQ2RP8BWOzuv8x1frLFzLqb2S7h507AaGBJTjOVBe7+Q3cvc/feBL/vl9397BxnK+PMrHN4gQlm1hk4GsjolZslHUzcvR6YBDxP0BD7mLsvzG2ussPMpgCzgf3NrMbMLsx1nrJkGHAOwRnqvPB1XK4zlQW7A9PN7B2Ck6gX3b1kLpMtQT2AWWb2NvAm8LS7P5fJFZb0pcEiIpIeJV0yERGR9FAwERGRlCmYiIhIyhRMREQkZQomIiKSMgUTERFJmYKJiIikTMFEJEPMbLCZvRP2JdI57Eek6J+HJaVJNy2KZJCZ3Qh0BDoBNe7+ixxnSSQjFExEMih85tscYDNwmLtvzXGWRDJC1VwimbUr0AXoSlBCESlKKpmIZJCZTSN49Pk+BN0FT8pxlkQyol2uMyBSrMzs20C9uz9sZm2B183sP9395VznTSTdVDIREZGUqc1ERERSpmAiIiIpUzAREZGUKZiIiEjKFExERCRlCiYiIpIyBRMREUnZ/wcVWFrWwixrZgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure()\n",
    "plt.scatter(x,Solve_Y(x),s=5, marker='*',c='black')\n",
    "plt.scatter(x,Euler_polygonal_arc_back,s=5, marker='*',c='red')\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "Parsing_Solution=mpatches.Patch(color='black', label='Parsing_Solution')\n",
    "Euler_polygonal_arc_back_method=mpatches.Patch(color='red', label='Euler_polygonal_arc_back')\n",
    "plt.title('Euler_polygonal_backward method in range {}-{} with h={:.1f}'.format(x_min,x_max,h))\n",
    "plt.legend(handles=[Parsing_Solution,Euler_polygonal_arc_back_method],loc='best')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "40806fb4",
   "metadata": {},
   "source": [
    "## 改进的Euler格式"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "2326c102",
   "metadata": {},
   "outputs": [],
   "source": [
    "Euler_improved=[]\n",
    "for i in range(len(x)):\n",
    "    if x[i]==initial_x:\n",
    "        Euler_improved.append(initial_y)\n",
    "    else:\n",
    "        yp=Euler_improved[i-1]+h*F(x[i-1],Euler_improved[i-1])\n",
    "        yc=Euler_improved[i-1]+h*F(x[i],yp)\n",
    "        Euler_improved.append(0.5*(yp+yc))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5c12f83e",
   "metadata": {},
   "source": [
    "## 两步Euler法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "ef287ad1",
   "metadata": {},
   "outputs": [],
   "source": [
    "Euler_dual_step=[]\n",
    "# use Euler_improved method to calculate y1\n",
    "for i in range(len(x)):\n",
    "    if x[i]==initial_x:\n",
    "        Euler_dual_step.append(initial_y)\n",
    "    else:\n",
    "        if i==1:\n",
    "            yp=Euler_dual_step[i-1]+h*F(x[i-1],Euler_dual_step[i-1])\n",
    "            yc=Euler_dual_step[i-1]+h*F(x[i],yp)\n",
    "            Euler_dual_step.append(0.5*(yp+yc))\n",
    "        else:\n",
    "            yn_partial=F(x[i-1],Euler_dual_step[i-1])\n",
    "            yp=Euler_dual_step[i-2]+2*h*yn_partial\n",
    "            yc=Euler_dual_step[i-1]+h/2*(yn_partial+F(x[i],yp))\n",
    "            Euler_dual_step.append(yc)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4df4771f",
   "metadata": {},
   "source": [
    "## 双改进的两步Euler"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "4d4ad498",
   "metadata": {},
   "outputs": [],
   "source": [
    "Euler_dual_step_dual_compensate=[]\n",
    "predictions=[0 for _ in range(2)]\n",
    "corrections=[0 for _ in range(2)]\n",
    "for i in range(len(x)):\n",
    "    if x[i]==initial_x:\n",
    "        Euler_dual_step_dual_compensate.append(initial_y)\n",
    "    else:\n",
    "        if i==1:\n",
    "            yp=Euler_dual_step_dual_compensate[i-1]+h*F(x[i-1],Euler_dual_step_dual_compensate[i-1])\n",
    "            yc=Euler_dual_step_dual_compensate[i-1]+h*F(x[i],yp)\n",
    "            Euler_dual_step_dual_compensate.append(0.5*(yp+yc))\n",
    "        else:\n",
    "            yn_partial=F(x[i-1],Euler_dual_step_dual_compensate[i-1])\n",
    "            # predict\n",
    "            p_=Euler_dual_step_dual_compensate[i-2]+2*h*yn_partial\n",
    "            predictions.append(p_)\n",
    "            # compensate\n",
    "            m_=p_+4/5*(corrections[i-1]-predictions[i-1])\n",
    "            # calculate\n",
    "            m_partial=F(x[i],m_)\n",
    "            # correct\n",
    "            c_=Euler_dual_step_dual_compensate[i-1]+h/2*(m_partial+yn_partial)\n",
    "            corrections.append(c_)\n",
    "            # compensate\n",
    "            y_=c_-1/5*(c_-p_)\n",
    "            Euler_dual_step_dual_compensate.append(y_)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "82b99f3d",
   "metadata": {},
   "source": [
    "## 四阶Runge-Kutta方法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "03a02006",
   "metadata": {},
   "outputs": [],
   "source": [
    "Runge_Kutta_four_order=[]\n",
    "for i in range(len(x)):\n",
    "    if x[i]==initial_x:\n",
    "        Runge_Kutta_four_order.append(initial_y)\n",
    "    else:\n",
    "        K_1=F(x[i-1],Runge_Kutta_four_order[i-1])\n",
    "        K_2=F(x[i-1]+h/2,Runge_Kutta_four_order[i-1]+h/2*K_1)\n",
    "        K_3=F(x[i-1]+h/2,Runge_Kutta_four_order[i-1]+h/2*K_2)\n",
    "        K_4=F(x[i-1]+h,Runge_Kutta_four_order[i-1]+h*K_3)\n",
    "        Runge_Kutta_four_order.append(Runge_Kutta_four_order[i-1]+h/6*(K_1+2*(K_2+K_3)+K_4))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "af767972",
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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ddZZ1KlTh3bt2pGfn0///l5nlO3atSvSWdHw4cMD78FPOhw6dChJSUls3bqVLVu20L17dwAuvfRShg4dCsD555/PK6+8wi233MK0adOYNm0aX331FcuXL6dPnz4A5Ofnc+SRRx6wnosvvpi33367tIdIRERiQAFBHBX2LAiwZ8+ekPMUFBSwcOHCkBn/QQcdVKrt1fM74K5VqxZ16tTB63TSG87LywvMVzi++Odotjds2DCGDh3KkCFDMDNOOOEEvvjiC9q2bXtAKcCWLVuKrF9EROJHVQZxlJycTHZ2NgDTp08POU/fvn35xz/+ERiuyMaJhQqrNKZNm8Zpp512wPQmTZpw6KGH8tFHHwHwwgsvBK7yjz/+eJKSkvjLX/7CsGHDAGjTpg25ubmBgGD//v18+eWXHHLIITRp0oQFCxYAFOkeWUREKlfNKyFo0SK2dxq0aBFxlsI2BIX69+/PhAkTuPPOO7n88su577776NSpU8hlH330Ua699lpSU1PJy8ujW7duTJo0KVapD2nv3r106tSJgoICXnopdKeUzz33HFdddRW7du3iuOOOY/LkyYFpw4YN46abbuK7774DoG7durz22muMHTuWrVu3kpeXx/XXX0/btm2ZPHkyI0eOpGHDhvTr169C90tERMIz56pPB4EZGRkuKyuryDj15146ycnJZGVl0axZs3gnRRKAfj8iic3Msp1zMbm/XFUGIiIiUgOrDKqhOXPmcPPNNxcZ17p1a2bMmFHqdQXfbSAiIjWHAoJqoF+/fqp/FxGRclGVgYiIiCggEBEREQUEIiIiMbFpU7xTUD41LiCIQ+/HIiJSjeXnw8SJ0KyZ956fH+8UlU2NCwji0PsxSUlJRTo3mjBhQonzT5kyhdGjR8cohaXTqFGjuGw3WDz3X0SktPLyoLDbl3HjvOGqSHcZVILydG4Ujby8PGrX1lcZTMdERCpLvXowYADMnu29+93GVDk1roQgkSQnJ7Nx40YAsrKy6NGjxwHz5Obmct5555GZmUlmZiYff/wxAOPHj2fUqFH07duXSy65JOT6p0yZwjnnnEP//v1p06YNd911V2Daww8/TEpKCikpKUycOPGAZS+++GJmzpwZGL7ooot488032bVrF+effz6pqakMGzaMTp06Ufh0yJdeeol27dqRkpJS5LkIjRo14vbbb6d9+/Z07tyZ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SE1sVPj6EbAnhl0g128BQyr/2QYiIiKxVPNKCGIZDES5vqSkJNLS0gKvCRNK7s15ypQpjB49OlYpDOjRowfFG11GqyxpysnJYfbsir17dPz48YG+EUpr7dq1pKSkxDhFiWnLli088cQT8U6GiCSwmldCEAfl6dwoGnl5edSunXhfZU5ODllZWQwYMCDyzFKhCgOCa665Jt5JEZEEVfNKCBJIcnIyGzduBCArK4sePXocME9ubi7nnXcemZmZZGZm8vHHHwPelfGoUaPo27cvl1xyScj17969mwsuuIDU1FSGDRvG7t27A9MaNWoU+Pzaa68FngPw1ltv0alTJzp06EDv3r3ZsCG6EpVXX32VlJQU2rdvT7du3di3bx933HEH06ZNIy0tjWnTprFz505GjhxJZmYmHTp0YObMmYBX+nDOOefQv39/2rRpw1133VXitu69917atGlD7969+eqrrwLjg0tANm7cSHJyMuCVBJxxxhmkp6eTnp7OJ598EtU+5efnc+ONN9KuXTtSU1N57LHHAHjvvffo0KED7dq1Y+TIkezduxfwvs/bbruN0047jYyMDBYvXky/fv04/vjjA4+bnjdvHt26dWPw4MGccsopXHXVVYEOrt555x1OO+000tPTGTp0aOBx0snJydx5552kp6fTrl07Vq1aBcCHH34YKHXq0KED27dvZ8eOHfTq1Sswb+ExvuWWW1izZg1paWncdNNNADz44INkZmaSmprKnXfeGdUxEZHqK/EuK6uh4n0Z3HrrrQwbNiyqZa+77jrGjRtH165d+eGHH+jXrx8rV64EIDs7mwULFoTtAvnJJ5+kYcOGLFu2jGXLlpGenh5xe127duXTTz/FzHjmmWd44IEH+NvfQnVKWdTdd9/NnDlzaNmyJVu2bKFu3brcfffdRR5JfNttt3HmmWfy7LPPsmXLFjp27Ejv3r0BWLRoEcuXL6dhw4ZkZmZy9tlnh+zPIDs7m5dffpklS5aQl5dHeno6p556aolpO/zww3n33XepX78+33zzDcOHD4+q6uSf//wn3333HUuWLKF27dps3ryZPXv2MGLECN577z1OPPFELrnkEp588kmuv/56AI4++mgWLlzIuHHjGDFiBB9//DF79uyhbdu2XHXVVYF9XbFiBcceeyz9+/fn9ddfp0ePHtxzzz3MnTuXgw46iPvvv5+HH36YO+64A4BmzZqxePFinnjiCR566CGeeeYZHnroIR5//HG6dOnCjh07qF+/PgAzZszg4IMPZuPGjXTu3JlBgwYxYcIEli9fHiipeuedd/jmm29YtGgRzjkGDRrE/Pnz6datW8TjIiLVkwKCSlCeKoO5c+eyYsWKwPC2bdsCPQgOGjQobDAAMH/+fMaOHQtAamoqqampEbe3fv16hg0bxs8//8y+ffto3bp1VOns0qULI0aM4Pzzz2fIkCEh53nnnXd48803A3X+e/bs4YcffgCgT58+NPV7DRkyZAgLFiwIGRB89NFHDB48mIYNGwLeMYhk//79jB49mpycHJKSkvj666+j2qe5c+dy1VVXBapjDjvsMJYuXUrr1q058cQTAbj00kt5/PHHAwFBYXratWvHjh07aNy4MY0bN6Z+/fps2bIFgI4dO3LccccBMHz4cBYsWED9+vVZsWJFoJfHffv2cdpppwXSUnhMTz31VF5//XXAO+Y33HADF110EUOGDKFVq1bs37+f2267jfnz51OrVi1+/PHHkKU877zzDu+88w4dOnQAYMeOHXzzzTcKCERqMAUEcVS7du1AcfGePXtCzlNQUMDChQtDZvwHHXRQxG2YWcTxwdseM2YMN9xwA4MGDWLevHmMHz8+4jYAJk2axGeffcasWbNIS0sLGQA555g+fTpt2rQpMv6zzz47IJ3h0l3StHDH85FHHqFFixYsXbqUgoKCwJV0JM65A7YV6cme9fxnmtaqVSvwuXA4Ly8vZPrNDOccffr04aWXXipxvUlJSYH13HLLLZx99tnMnj2bzp07M3fuXD799FNyc3PJzs6mTp06JCcnhzy3nHPceuutXHnllSXuj4jUHDWvDUH9FgmzvuTkZLKzswGYPn16yHn69u1bpBfA0pQ0dOvWjalTpwKwfPlyli1bFpjWokULVq5cSUFBQZE+D7Zu3UrLli0BeO6556Le1po1a+jUqRN33303zZo1Y926dTRu3DhQmgHQr18/HnvssUCmumTJksC0d999l82bN7N7927eeOONwJVyqH2aMWMGu3fvZvv27bz11luBacHH87XXXiuyT0ceeSS1atXihRdeID8/P6p96tu3L5MmTQpkwJs3b+akk05i7dq1rF69GoAXXniB7t27R7W+QosWLeK7776joKCAadOm0bVrVzp37szHH38cWO+uXbsilmSsWbOGdu3acfPNN5ORkcGqVavYunUrhx9+OHXq1OGDDz7g+++/Bwj5XTz77LOBdgo//vgjv/zyS6n2Q0Sql5pXQhCHZwYUb0PQv39/JkyYwJ133snll1/OfffdR6dOnUIu++ijj3LttdeSmppKXl4e3bp1CzRQi+Tqq6/msssuIzU1lbS0NDp27BiYNmHCBAYOHMjRRx9NSkpKIGMYP348Q4cOpWXLlnTu3Jnvvvsuqm3ddNNNfPPNNzjn6NWrF+3bt+eYY45hwoQJpKWlceutt/LnP/+Z66+/ntTUVJxzJCcn85///Afw2i5cfPHFrF69mgsvvDBkdQFAeno6w4YNIy0tjWOPPZYzzjgjMO3GG2/k/PPP54UXXuDMM88MjL/mmms477zzePXVV+nZs2dUJSsAV1xxBV9//TWpqanUqVOHP/7xj4wePZrJkyczdOhQ8vLyyMzMDLQNiNZpp53GLbfcwhdffBFoYFirVi2mTJnC8OHDA40U77nnnkDVRCgTJ07kgw8+ICkpiVNOOYWzzjqL7du38/vf/56MjAzS0tI46aSTAGjatCldunQhJSWFs846iwcffJCVK1cGqiUaNWrEv//9bw4//PBS7YuIVB/q3EjibsqUKUUaH1Zn8+bN46GHHgoEQolOvx+RxKbOjURERCSmVEJQDcyZM4ebb765yLjWrVsXaRsQK/feey+vvvpqkXFDhw7l9ttvj+l2Nm3aRK9evQ4Y/9577wXuRoiVyjx+VU1N+P2IVGWxLCFQQCAiYen3I5LYVGUgIiIiMaWAQERERBQQiIiIAGzaFO8UxFfNew7BJzmwPy9266tTG05Pi936RESkUuXnw2OPwbhx8MgjMGYMJCXFO1WVr+aVEMQyGIhyfUlJSaSlpZGSksLvf//7wDPt42XKlCmMHj0a8B6NfOmllzJy5Miwj+Ut7Dq30Nq1a3nxxRfLvP2bbrqJtm3bBnrdSxTjx48P9LMgIjVHXp4XDID3nhfjbKKqqHkBQRwUdm60fPlyDjvsMB5//PF4Jwnwnmd/1VVXsX//fp555pmwfQTEOiB46qmnWLx4MQ8++GCZ1wFE/QjiUJxzgX4Pyiqvpv5riFQz9erBgAHe5wEDvOGaSAFBJTvttNP48ccfAejRo0egG96NGzeSnJwMeFfwQ4YMoX///pxwwgn86U9/Ciz/r3/9ixNPPJEePXoEHqULkJuby3nnnUdmZiaZmZl8/PHHEdNy3XXXsWnTJp5//nlq1ap1wBVySkoKa9eu5ZZbbmHNmjWkpaVx0003ccstt/DRRx+RlpbGI488wtq1aznjjDNIT08nPT2dTz75JOw2Bw0axM6dO+nUqRPTpk3j+++/p1evXqSmptKrV69A74cjRowo0h9Bo0aNAO9Jfz179uTCCy+kXbt2Ybfz8MMPk5KSQkpKChMnTgS8QObkk0/mmmuuIT09nXXr1nHvvffSpk0bevfuzVdffRVYfs2aNfTv359TTz2VM844g1WrVgXSdcMNN9CzZ88Dnl0gIlXXrFngnPdeU9W8NgRxlJ+fz3vvvcfll18ecd6cnByWLFlCvXr1aNOmDWPGjCEpKYm//OUvLF68mMaNG3PmmWfSvn17wMvcx40bR9euXfnhhx/o168fK1euDLv+F198kZNPPpl58+YFuvcNZ8KECSxfvjzQsVLxx+/u2rWLd999l/r16/PNN98wfPhwij8PotCbb75Jo0aNAuv6/e9/zyWXXMKll17Ks88+y9ixY3njjTdKTM+iRYtYvnx52K6Zs7OzmTx5Mp999hnOOTp16kT37t059NBD+eqrr5g8eTJPPPEE2dnZvPzyyyxZsoS8vDzS09M59dRTARg1ahSTJk3ihBNO4LPPPuOaa67h/fffB+Drr79m7ty5JNXESkYRqbYUEFSCws6N1q5dy6mnnkqfPn0iLtOrVy+aNGkCwCmnnML333/Pxo0b6d69O4cddhjgPSGwsEe8uXPnsmLFisDy27ZtY/v27TRu3Djk+tPT01m1ahWLFi0K27NgtPbv38/o0aPJyckhKSkpYi99wRYuXMjrr78OwMUXX1ykNCScjh07hg0GABYsWMDgwYMDnRgNGTKEjz76iEGDBnHsscfSuXNnAD766CMGDx5Mw4YNAa/0AmDHjh188sknDB06NLDOwg6HwDvuCgZEpLpRQFAJCtsQbN26lYEDB/L4448zduxYateuHajHLt5nfb2gSqykpCTy8vLCNvoDr3HgwoULadCgQVRpOumkk7j77rs5//zzmTNnDm3bti2SnlBpCueRRx6hRYsWLF26lIKCAurXrx/VcqEUtmMITotzjn379gXmidRbYUnHqfiyodpNFBQUcMghh4Ttajra3hJFRKqSmteGoE6M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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(8,6))\n",
    "plt.scatter(x,Solve_Y(x),s=6, marker='*',c='black')\n",
    "plt.scatter(x,Euler_improved,s=6, marker='*',c='red')\n",
    "plt.scatter(x,Euler_polygonal_arc,s=6, marker='*',c='blue')\n",
    "plt.scatter(x,Euler_dual_step,s=6, marker='*',c='green')\n",
    "plt.scatter(x,Euler_dual_step_dual_compensate,s=6, marker='*',c='orange')\n",
    "plt.scatter(x,Runge_Kutta_four_order,s=6, marker='*',c='pink')\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "Parsing_Solution=mpatches.Patch(color='black', label='Parsing_Solution')\n",
    "Euler_improved_match=mpatches.Patch(color='red', label='Euler_improved')\n",
    "Euler_polygonal_arc_match=mpatches.Patch(color='blue', label='Euler_polygonal_arc')\n",
    "Euler_dual_step_match=mpatches.Patch(color='green', label='Euler_dual_step')\n",
    "Euler_dual_step_dual_compensate_match=mpatches.Patch(color='orange', label='Euler_dual_step_dual_compensate')\n",
    "Runge_Kutta_four_order_match=mpatches.Patch(color='pink', label='Runge_Kutta_four_order')\n",
    "\n",
    "plt.title('Comparison of different numerical deviarion methods in range {}-{} with h={:.1f}'.format(x_min,x_max,h))\n",
    "plt.legend(handles=[Parsing_Solution,Euler_improved_match,Euler_polygonal_arc_match,Euler_dual_step_match,Euler_dual_step_dual_compensate_match,Runge_Kutta_four_order_match],loc='best')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "7fe6e327",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAb8AAAEWCAYAAAD2AJlUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA1S0lEQVR4nO3de7xUZdn/8c/FSUBBUkQRRdTIpEKzLZ5DTRNE85woppa6RbP06aTVU5rWY8/vsV/mAx7wEB5KtiWS5rn8KRs8BHhAUSxEEQQFOakgwobr98e1JobNnr1nz8yew57v+/Wa18ys01yzZmZdc9/rvu9l7o6IiEg16VDqAERERIpNyU9ERKqOkp+IiFQdJT8REak6Sn4iIlJ1lPxERKTqFDT5mdn2ZjbZzD40s9+Y2U/M7JYs18162fas8T5so9d4y8yOaIttS3GY2RVmdleBtnW2mU3JYb2HzeysQsQgm2rpeJjrZ5a2/ngz+2Xy+BAzez1t3h5m9kJyDPqumXUzswfMbKWZ/SnX12wr6e+lNVpMfq08UNYC7wM93f377v5f7n5uNiumL2tmA8zMzaxTlq/bnmyyDzMtZGZdzGy2mS1obmO5fjHS1j/bzNab2Udm9oGZvWRmx+S6vbaUfGc+nfb8B2a2yMw+18J6hzbej4VMLvlqKr5y4O7D3f32UsdRaGa2jZndZ2arzGyemZ3ewvJPmtma5DfyUXoiyVUxj4fuXu/ue6RN+hHwpLv3cPfrgJOB7YFt3f2Utoghk7b87he62nMX4FWvoJ7zTX2hWvslK/CXMtt9+ENgcQFftznPuPtWQC/gemCCmfUq0mvnxMz+E7gEGOrus0ocjjSjDP/kjgXWEgf8UcANLf2BAi5y962S2x4tLFvudgFmNXr+T3dvaO2GyvCz3cjdm70BbwFHJI/PBqYA1wDLgTeB4cm88cA64kvzEXAEcAVwVzJ/AODAWcDbROnmp2mvk77s28myHyW3ocAy4Atpy/cBPga2yxD3t4DXkjgfBXZJm+fAt4F/Je/hUGABcCnwLnAnsAVwLbAwuV0LbJGs39TyvYG/AiuSWOuBDhliOxCYBqxM7g/MtA8zrL9r8t6GAwua+exqG23vgbTP9AfAzCSGOqBrhm2cDUxJe9492X/7Js+fBM5tZnkHRif7ejlxYLFkXkfgN8l34U3gomT5Tsn8rYFbgUXAO8AvgY7NvF8HPp0s9xawW+N5ac/HJ8ttmXyPNrDx+3Z6ss/WJc9fStb5ZrLfPwTmAuc3E8vZwFTgt8l3Ym7yuZ8NzCf+uJyVtvwWxO/qbeA94EagW4b4diR+L/cAdyTxzAJq0ra3Z/LZrEjmfS1t3rbA/cAHwD+Aq1KfGWBJzIuT78ZM4PMZ3uO/P3uaOTY0c1y5NNn+J0An4DLgjeT9vAqc0Ph7lWn7xG9icrLu34jv2V1p8/cHnk72x0vAoRni2jL57D+TNu1O4NfNvJd/74csjqfzgC8lj88gvpeDkufnApOyOB4ekMP+/iLwfLJ/6oAJwC/Tj2fJ4yeA9cCa5LXuZtPfwjmtPb4m044BXkz2/9PA4Ebfhc2OR2T47jfx3sYnn/eDyft7Dti9xc8iiw/rLTZNfuuA84gD1wVEYrC0IH6Ztm76Bzgg2Sk3Ez/qvYgv/Z7NLNspbVvXA/+d9vxikoN5EzEfD8whDgCdgP8Enm704TwObJPEcijQAPw3cRDqBlwJPEsk2e2SD+yqtC9L4+WvJg5YnZPbIan90ii2bZIvzDeS2E5Lnm/b1D7M8P7+CpxA2pe2mWU3217ymf6DOIhuQ3yJR2dY/2w2Hhg7El/qtUCfpn74NJ38/kqUGvsDS4BhybzRxEFuJ+BTxEErPflNAm4ifgR9kpibSzgO/Jn40fVvYt5mya/xj7+p727atBHA7kSCGAqsBvZpZr81EAmzI5Fo3yZ+pFsAXyV+qFsly19LJKRtgB7AA8DVLcS3Bjg62f7VwLPJvM7E9/8nQBfg8OS19kjmTyAS55bA54k/FqnP+ChgRvJ5GfEb6pvhPf77s6eFY0OG48qLwM5At2TaKcR3sgNwKrAq9dotbR94hkgEXYCDicSeOp70A5Ym+6oDcGTyfLM/zkSS+LjRtB+Q4ViTth+WEH/ippIhsSbL3gF8P3k8jkj2F6TN+48sj4dZ7+9kn8wD/iP5bpycrNvk95/Nf9P/jiXH4+s+xJ+p/ZJYz0o+/1Rh4i0yHI8ax9bMMW4ZMCSJ5w/AhObWcfecqj3nufvN7r4euB3oS1QPZOsX7v6xu79E/APbK8v1bgdON7NUzN8g/pE15XziwPGaR1H9v4C9zWyXtGWudvdl7v5x8nwDcLm7f5JMGwVc6e6L3X0J8IvkNcmw/DpiX+zi7us86tG9idhGAP9y9zvdvcHd7wZmA8dmsxPM7ATiR3BfNss34zp3X+juy4gD7d7NLLu/ma0gDrbXAGe4e2uqXH/t7ivc/W3g/6W91teB37n7AndfDvw6tYKZbU+UbC9x91XJ6/0WGNnCa30VeCR5rYJy9wfd/Q0PTwGPEX9yMnnT3X+f/FbqiAP9lcl35jHiT8SnzcyIg9h/JN/JD4nvbEvvdYq7P5Rs/042/pb2B7Yi9vtad3+C+ANympl1BE4Cfp7s11eI31bKOiL5fpY4kL7m7ouy3EWtPTZc5+7zU79Bd/9T8p3c4O51xJ+YIS1t38z6A/sm72mtu08h/kiknAE8lOyrDe7+ODCdSIaNbUWUPtKtJPZJJpcCuxFJdhzwgJntnmHZp4g/ThDfnavTng9N5mcr2/29P5H0rk2OTX8mapxy1drj63nATe7+nLuv9zhP/EkSV0prjkdNmeju/0ji+UM26+eS/N5NPXD31cnDrXJZn/jnnNW67v4c8U9wqJl9lqjeuj/D4rsAvzOzFclBexnxL7Zf2jLzG62zxN3XpD3fkfi3lDIvmZZp+f8h/g09ZmZzzeyyDLE13m5q2/2aWHYTZrYl8H+A72SY/5O0k+43trC51nwOz7p7L6J0dj/NH/Bb81o7sunnkP54F+IHuyjtc7yJKAFiZrPS3mt6PCOBk83sF62MsUVmNtzMnjWzZUk8RxPV3Zm8l/Y4dYBvPG0romahOzAj7b0+kkxvTuP92jU5x7IjMN/dN6TNT33HtiP+Hc9vNI8kvieAMUQJ9T0zG2dmPVuIY7N4sjw2bPIbNLMzzezFtH3weTbdv5m2vyOwLG1a423vApyS2m6y7YOJZNHYR0Dj99uTKDmnWrimvnejkliec/cPkz81txOlv6YSK0RyO8TMdiBKQXXAQWY2gKjmfzHDek3Jdn/vCLzT6M9442NQa7T2+LoL8P1G+39nNj2e5pQX8lm/XE9GNlVigvh3cwbxRv/cKPmkmw/8yt3/0IrXaPx8IZue+O2fTGty+eTf+veJD/lzwP8zs2nu/vcM203XnzjYtWQgUQVSH4UFugBbm9m7wP7u/l/Ev7Dm3lfO3P0jM7sQeMPMbnP3F4g/JN3TFtuhFZtcRFR5puyc9ng+8e+wtzdxot3dMzVA+CdxvvlJM/vY3VOlydVNxJlqRdbUPtpkmpltAdwLnAn8xd3Xmdkk4kefr/eJRPg5d3+npViysBDY2cw6pCXA/sS+WUJUx+5M1Dik5m18sWjhd52Z9SGqR38I/KyVMWTj3+8rKTXcDHyFaGC13sxeJLv9uwjYxsy6pyWBxt+lO939vCy29U+gk5kNdPd/JdP2IjkOuPvwLLbhmeJ29zlmthr4LjDZ3T9Mfr+1REl+Q1OrZfGazVkE9DMzS0uA/Ykq11y09viaWv5XObxWwY5fjZVrJ/clRLXibo2m30mc6zqDqB/P5Ebgx6kWWma2tZm1tonu3cB/mtl2ZtYb+DmQsem7mR1jZqkqrA+Ik8brm1j0IeAzZna6mXUys1OBQUS1VEteIX7Ueye3c4nSxd5sXpJNeY/N92PO3H0pcAuxPyD+qZ5oZt2TbgbntGJz9wAXm1m/pPXopWmvs4ioVvyNmfU0sw5mtruZDc2wrfQYZxEJ8IdmdklanKebWUczG8bGqiaIfbStmW3daNqAtGr2LsS5uiVAg5kNJ6pY85Yc8G4GfpskHJJ9clQz8TUnVUvyIzPrbGaHEtXqE5IqsonAFclnNog4B0Pyuvua2X5m1jnZxhqa/h4X2pbEgW5JEsc3iZJfi9x9HlGNeYVFF6AD2PQ0wl3AsWZ2VPL5d7VoQr9TE9taReyfK81sSzM7CDiODKdYzKxXst2uye95FPBlohFIJk8RjbtSVZxPNnreWKbjYbaeIf7wfDeJ8UQ2rU5urdYeX28GRiffK0v26wgza64qOaW13/2slWXyS/69/QqYmhST90+mLyBaLDnRmjLT+vcRjVEmmNkHRNLI5h9bul8SP6iZwMvJ6zbXX24g0WDjI+LLdr27P9lEbEuJlk/fJ066/wg4xt3fbymg5Bzhu6kbUd2wIXme6QB1KzAo2Y+TWnqNLF0LHG1mg4nzcGuJL+ntRH17tm4mEtxM4AXij0EDGw+2ZxJJ51WiUdCfabqqajMe55SPAi43s9FEA6ljidZmo4jGNKllZxN/duYm+2lHINWZd6mZPZ+U7L9LJOzlRIvQTNXuubiUqDZ/NvnO/g3Yo5n4MnL3tcDXiO/8+0RjsTOT7UAcaLcialDGA79PW70n8bksJ6rGlhLneduUu79KtPx9hvgufYGoPszWKKIV5FLid1pH1Bzg7vOJBPYTIpHMJ0qzmY5/FxINNRYT+/0Cz9xdpnPyeqkGL98Bjnf35vr6PUWcQ5yc4fkmMh0Ps5V8H04kGsksJxoTTWzNNhptr1XHV3efTpz3G5O8/pwklmxeq1Xf/dZItZSqGGZ2G7DQ3f+z1LFIYSWlqRvdvXG1sEirmFkdMNvdLy91LFKeyrLkl0lyUvhEojQjFc5i2KSjk6qYfsDlQL6tWKUKJdW1uyfV48OIkt6kEoclZaxikp+ZXUUUr//H3d8sdTxSEEZ0IVlOVHu+xsZziSKtsQNx7uwj4DqiqvKFkkYkZa3iqj1FRETyVTElPxERkUIp135+BdO7d28fMGBAqcMQEakoM2bMeN/dWxpooWIVPfklrTWPARa7+2b9eMzsh0SzZYj49iTG4FtmZm8RIy2sBxrcvaal1xswYADTp08vVPgiIlXBzPIZBabslaLaczwwLNNMd/8fd9/b3fcGfgw8lYz3lnJYMr/FxCciItKUoic/d59MdM7OxmlEB0cREZGCKdsGL2bWnSgh3ps22YmBo2eYWW0z69aa2XQzm75kyZK2DlVERCpM2SY/YiiqqY2qPA9y932IoXS+bWZfbmpFdx/n7jXuXrPddu32fK2IiOSonJPfSBpVebr7wuR+MTESSD6Ds4qISJUqy+SXjOA9FPhL2rQtU6OAW1zX7qvEiC8iItLYokUwdCi8+27Ly1ahoic/M7ubGLl9DzNbYGbnmNnoZOT9lBOAx5LLi6RsD0wxs5eIS94/6O7ZXANPRKT6XHUVTJkCV15Z6kjKUrsf3qympsbVz09Eqka3brCmiet8d+0KH3+c9WbMbEZ77lJWltWeIiKSo7lz4etf3/i8e3cYNQre1PUA0in5iYi0J337bizhde4cpcCePWGHHUobV5lp92N7iohUnX/9K+7//neYMCEav8gmlPxERNqbfv2gSxc45JC4yWZU7Ski0p6sWwfPPKOk1wIlPxGR9uTFF2H1aiW/Fij5iYi0J/X1ca/k1ywlPxGR9qS+HnbbDXbcsdSRlDUlPxGR9sI9RnVRqa9FSn4iIu3F7Nnw/vtKfllQ8hMRaS90vi9rSn4iIu1FfT306QMDB5Y6krKn5Cci0l7U10epz6zUkZQ9JT8RkfZg/nyYN09VnllS8hMRaQ90vq9VlPxERNqD+nro0QP22qvUkVQEJT8Rkfagvh4OPBA6dix1JBVByU9EpNItXQqzZqnKsxWU/EREKt3UqXGv5Jc1JT8RkUpXXx/X7xsypNSRVIyiJz8zu83MFpvZKxnmH2pmK83sxeT287R5w8zsdTObY2aXFS9qEZEyVl8P++4LXbuWOpKKUYqS33hgWAvL1Lv73sntSgAz6wiMBYYDg4DTzGxQm0YqIlLuVq2CGTNU5dlKRU9+7j4ZWJbDqkOAOe4+193XAhOA4woanIhIpXnuOWhoUPJrpXI953eAmb1kZg+b2eeSaf2A+WnLLEimbcbMas1suplNX7JkSVvHKiJSOvX1MZzZgQeWOpKKUo7J73lgF3ffC/hfYFIyvanB6rypDbj7OHevcfea7bbbrm2iFBEpB/X1MHgw9OpV6kgqStklP3f/wN0/Sh4/BHQ2s95ESW/ntEV3AhaWIEQRkfKwbh0884yqPHNQdsnPzHYwiyHJzWwIEeNSYBow0Mx2NbMuwEjg/tJFKiJSYi+8AKtXK/nloFOxX9DM7gYOBXqb2QLgcqAzgLvfCJwMXGBmDcDHwEh3d6DBzC4CHgU6Are5+6xixy8iUjamTIn7gw8ubRwVqOjJz91Pa2H+GGBMhnkPAQ+1RVwiIhWnvh522w123LHUkVScsqv2FBGRLLhHyU9VnjlR8hMRqUSzZ8P77yv55UjJT0SkEunitXlR8hMRqUT19dCnDwwcWOpIKpKSn4hIJaqvj1KfNTX+h7REyU9EpNLMnw/z5qnKMw9KfiIilUbn+/Km5CciUmnq66FHD9hrr1JHUrGU/EREKk19fVzFoWPHUkdSsZT8REQqydKlMGuWqjzzpOQnIlJJpk6NeyW/vCj5iYhUkvp66NIFhgwpdSQVTclPRKSS1NfDvvtC166ljqSiKfmJiFSKVatgxgxVeRaAkp+ISKV47jloaFDyKwAlPxGRSlFfH8OZHXhgqSOpeEp+IiKVor4eBg+GXr1KHUnFU/ITEakE69bBM8+oyrNAlPxERCrBCy/A6tVKfgWi5CciUgk0mHVBFT35mdltZrbYzF7JMH+Umc1Mbk+b2V5p894ys5fN7EUzm168qEVESqy+HnbfHfr2LXUk7UIpSn7jgWHNzH8TGOrug4GrgHGN5h/m7nu7e00bxSciUl7cYcoUlfoKqFOxX9DdJ5vZgGbmP5329FlgpzYPSkSknM2eHQNaK/kVTLmf8zsHeDjtuQOPmdkMM6vNtJKZ1ZrZdDObvmTJkjYPUkSkTaXO9x18cGnjaEeKXvLLlpkdRiS/9E/7IHdfaGZ9gMfNbLa7T268rruPI6kuramp8aIELCLSVurroU8fGDiw1JG0G2VZ8jOzwcAtwHHuvjQ13d0XJveLgfsADWsuIu1ffX1UeZqVOpJ2o+ySn5n1ByYC33D3f6ZN39LMeqQeA18FmmwxKiLSbsyfD/Pm6XxfgRW92tPM7gYOBXqb2QLgcqAzgLvfCPwc2Ba43uJfTkPSsnN74L5kWifgj+7+SLHjFxEpKvXvaxOlaO15WgvzzwXObWL6XGCvzdcQEWnH6uuhRw/YS4e/Qiq7ak8REUlTXx9XcejYsdSRtCtKfiIi5WrpUpg1S1WebUDJT0SkXE2dGvdKfgWn5CciUq7q66FLFxiiXl2FpuQnIlKu6uth332ha9dSR9LuKPmJiJSjVatgxgxVebYRJT8RkXL03HPQ0KDk10aU/EREylF9fQxnduCBpY6kXVLyExEpR/X1MHgw9OpV6kjaJSU/EZFys24dPPOMqjzbkJKfiEi5eeEFWL1aya8N5ZT8LOxc6GBERAQNZl0EOSU/d3dgUmFDERERIJLf7rtD376ljqTdyqfa81kz27dgkYiICGzYAFOmqNTXxvK5pNFhwPlmNg9YBRhRKBxckMhERKrRlCkxoPVgHUrbUj7Jb3jBohARkfCzn8X9tGmljaOdy7na093nAb2AY5Nbr2SaiIi0Vrdu0al98uR4fvfd8bxbt9LG1U7lnPzM7GLgD0Cf5HaXmX2nUIGJiBTFokUwdCi8+25p45g7F0aO3Pi8e3cYNQrefLN0MbVj+TR4OQfYz91/7u4/B/YHzitMWCIiRXLVVXGe7corSxtH376wcmU87twZ1qyBnj1hhx1KG1c7lU/yM2B92vP1yTQRkfKXqma84YZoYXnDDaWvZpw5E7bYAp5+GkaPLn1ptB3LJ/ndBjxnZleY2RXAs8CtLa1kZreZ2WIzeyXDfDOz68xsjpnNNLN90uYNM7PXk3mX5RG7iFS7uXPh9NOhQ3IY7NattNWMy5bBkiWR9GpqYOxYmDixNLFUgVxHeOkAPAd8E1gGLAe+6e7XZrH6eGBYM/OHAwOTWy1wQ/KaHYGxyfxBwGlmNiiX+EVE6NsXOnaMUh+UvppxwgRYuxbOOqs0r19lcurq4O4bzOw37n4A8Hwr151sZgOaWeQ44I5kFJlnzayXmfUFBgBz3H0ugJlNSJZ9NZf3ICLCSy/F/TbbQKdOpa1mHD8++vbtvXfpYqgi+VR7PmZmJ5lZoc/z9QPmpz1fkEzLNH0zZlZrZtPNbPqSJUsKHJ6ItBs9esAXvhB96xYvhssvL00cs2ZFv76zz47zjtLm8kl+3wP+BHxiZh+Y2Ydm9kEBYmrqk/dmpm8+0X2cu9e4e812221XgJBEpN2ZPx+mToVTT4Uzz4yGJjffXJpYbr89Sp6jRpXm9atQPuf8hrl7B3fv4u493b2Hu/csQEwLgPQrRuwELGxmuohI6/3pT3H/9a9Htecpp8Cdd8alhIqpoQHuuguOPhr69Cnua1exXK/qsAG4psCxpNwPnJm0+twfWOnui4BpwEAz29XMugAjk2VFRFqvrg6++EUYODCe19bCBx/APfcUN47HH4+O9mefXdzXrXJFP+dnZncDzwB7mNkCMzvHzEab2ehkkYeAucAc4GbgQgB3bwAuAh4FXgPucfdZecQvItXqzTfhH/+IKs+Ugw+Gz34Wxo0rbizjx8O228KIEcV93SqXz8DW3wO2BBrMbA0br+rQbNWnu5/WwnwHvp1h3kNEchQRyV16lWeKWZT+vvc9ePnlaAjT1pYvh0mTom9fly5t/3ryb/kMbN2jjc75iYi0rbo6GDIEdt110+lnnhlJqFilv1TfPlV5Fl2rk5+ZnZH2+KBG8y4qRFAiIm1mzhx4/vlNqzxTtt0WTj65eA1f1LevZHIp+X0v7fH/Npr3rTxiERFpe3V1cX/KKU3Pr62NAaZTVaNt5dVX47yj+vaVRC7JzzI8buq5iEh5qauDgw6CnXduev6Xvwx77NH2VZ/q21dSuSQ/z/C4qeciIuXjtdeiMUtTVZ4pqYYvTz8NrzQ5/n7+GhqialV9+0oml+T32eRqCy+nPU4936PA8YmIFE5dXSS3k09ufrlUw5e2GvFFfftKLpeuDnsWPAoRkbbmHslv6NC4okNzeveGk06CO+6AX/+68Nf4U9++kmt1yc/d5zV3a4sgRUTy9vLLMHt281We6WprYcUK+POfCxtHqm/f6aerb18J5TPCi4hI5airi+v3nXRSdssPHRpDn910U2HjUN++sqDkJyLtX6rK8/DDIdsrvaQavkydGpccKpTx42P0mC9+sXDblFbLOfmZ2THJ1R1ERMrb88/DG29sOpxZNs4+u7ANX9S3r2zkk7xGAv8ys/9jZmoEIyLlq64u+tSdeGLr1uvdO9a54w74+OP847j99qh6Vd++kstnbM8zgC8CbwC/N7Nnkiuo9yhYdCIi+XKPyxQdeWRct6+1amujkcq99+YXR3rfvu23z29bkre8qi3d/QPgXmAC0Bc4AXjezL5TgNhERPL33HMwb172rTwbO/RQ+PSn8x/xRX37yko+5/y+Zmb3AU8AnYEh7j4c2Av4QYHiExHJT11dnLc7/vjc1k81fKmvjxFicpXq23fMMblvQwomn5LfycBv3X2wu/+Puy8GcPfVaIBrESkHGzbEANXDhsHWW+e+nbPOgs6dc2/4snw5/OUv6ttXRvJJfovcfXL6BDP7bwB3/3teUYmIFMLTT8M77+Re5ZnSpw+ccEI0WFmzpvXr19XBJ5+oyrOM5JP8jmxi2vA8ticiUlh1ddC1Kxx7bP7bqq2FZctya/iivn1lJ5eL2V7QxKDWM83sTWBm4UMUEcnB+vUxNNmIEdCjAI3QDzsst4Yvr70WjW7Ut6+s5FLy+yNwLPCX5D51+1LS/UFEpPQmT4Z3382/yjOlQwc477zY7uzZ2a+nvn1lKafr+bn7W8C3gQ/TbphZi51ozGyYmb1uZnPM7LIm5v/QzF5Mbq+Y2frUds3sLTN7OZk3PYfYRaRa1NXBllsW9soJZ5/duoYv69erb1+ZyrXkBzADmJ7cz0h7npGZdQTGEucGBwGnmdmg9GWSlqN7u/vewI+Bp9x9WdoihyXza3KIXUSqQUNDnJs79ljo3r1w2+3TJ7pMZNvw5fHHYeHCaC0qZSWXSxodk9zv6u67Jfep224trD4EmOPuc919LdE5/rhmlj8NuLu1MYpIGVu0KK6Y8O67bfcaTzwB779fuCrPdLW1sHQp3Hdfy8uOHx+jyqhvX9nJa4QXM+tnZgea2ZdTtxZW6QfMT3u+IJnW1La7A8OIEWRSHHjMzGaYWW0zcdWa2XQzm75kyZLs3oyIFMdVV8GUKXDllW33GnV10chl2LDCb/vww2G33Vpu+JJ+3b4ttih8HJKXXK7kDvy7T9+pwKvA+mSyA5MzrgRNNXXyDMseC0xtVOV5kLsvNLM+wONmNrtxX0MAdx8HjAOoqanJtH0RKaZu3TatKrzhhrh17VqYQaNT1q6FiRPhuONi24WWavjy4x/D66/DHns0vZz69pW1fEp+xwN7uPvR7n5scvtaC+ssAHZOe74TsDDDsiNpVOXp7guT+8XAfUQ1qohUgrlzoxTUITnsdOgQ1ZJvvlnY13n88bgCe1tUeaZ885txlYjmGr6MHw+f/zzss0/bxSE5yyf5zSXG9GyNacBAM9vVzLoQCe7+xguZ2dbAUKI7RWralqkrRpjZlsBXgVdyjF1Eiq1v32j9uGFDJL4NG2IEllyutNCcujro1Qu++tXCbjfd9ttHw5fx46N015j69pW9fJLfauBFM7vJzK5L3Zpbwd0bgIuAR4HXgHvcfZaZjTaz0WmLngA85u6r0qZtD0wxs5eAfwAPuvsjecQvIsU2bVokvr/9La6WMH8+nHFGJMVCWLMmzrOdcELbj6HZXMMX9e0re+ae2ykxM2uy7a67355XRAVWU1Pj06erS6BIyX34IfTrF+fi7rwzpv3mN/CDH8A550QVYr6lpFTie+QROOqovENu1oYNMeLLgAHRujRl/Xro3z+qOx94oG1jaENmNqM9dynLucFLuSU5ESlzd94ZCfCiizZO+/73YeXKaAG69dZwzTX5JcC6urhs0OGH5x9vS1INX37yE/jnP+Ezn4npqb591zVbESYllsvYnvck9y83GttzpplpbE8R2Zw7jBkDNTUwpFE7tV/8Ar77Xfi//zeSYK5Wr46S1kknxSgsxZBq+HLLLRunqW9fRcil5HdJcq9PVkSy88QT0Qjk9ts3L9mZwW9/Cx98AJdfHiXAiy9u/Ws89BCsWtW2rTwb22EH+NrX4Pe/j8S9enVUvZ53nvr2lblckt9fgX2AX7r7Nwocj4i0R2PGQO/e8PWvNz2/Q4c45/fhh3DJJdCzZ5SqWqOuLlphDh2ad7itUlsb/QonTYqO7erbVxFySX5dksYuB5rZiY1nuvvE/MMSkXZj3jy4/3649NLmO5136gR/+EMkwHPPjRFaTj45u9f46CN48EH41reilWUxHXlkNHr53/+FmTOj07v69pW9XJLfaGAU0IsYhSWdA0p+IrLRjTfG/ejRzS8HUVU4cWK01Dz99EiA2bTafOCBGCWmmFWeKamGLz/9aTzfZhv17asA+XR1OMfdby1wPAWnrg4iJbRmDey0E3z5y5HUsrViRVw89vXX4bHH4OCDm1/++ONh+nR4++2NI8gUS+Nh21IKPWxbkbX3rg45f0vc/dZkUOvTzezM1K2QwYlIhauri47g6d0bstGrFzz6aPSXGzECnn8+87IrV8LDD8MppxQ/8cHGYds6JRVp3btH5/ZCD9smBZXzN8XM7gSuAQ4G9k1u7fZfgoi0knucBxs0KEpxrdWnT/SZ69Urqj4zXT39L3+JwaxLUeUJMWxbz57R6b1r1ygF9uwZLUGlbOXcyZ1IdIM813pTEWnfnnsOZsyA66/P/RzYzjvHUGiHHAJHHBGXQhowYNNl6uqihLjffnmHnLP33otzmrW1camjRYtKF4tkJZ/k9wqwA6BPWUQ2N2ZMlIC+kWePqIEDowQ4dGgkwPr6KG0BLFsW5wQvuaS0jUzSz2eOHVu6OCRr+VSQ9wZeNbNHzez+1K1QgYlIBXvvPbjnnujvttVW+W/vC1+ITuzvvhtXa1iWXObzvvugoaF0VZ5SsfIp+V1RqCBEpJ25+WZYtw6+/e3CbXP//aO/4NFHw/DhcNddMSh2//7wpS8V7nWkKuQzsPVThQxERNqJdeuib99RR20c7LlQDj88SpQnnhjdJ1asgF13Vb86abVWJz8z+5DozL7ZLMDdvWfeUYlI5Zo0Cd55Z2Pn9kI79dS4bNC778bzF16I5Ffh/eqkuFp9zs/de7h7zyZuPZT4RIQxY6I0Nnx422w/1a8udbFa9auTHJSgR6iItFszZ8LkyXDhhW03xmaqX11Dg/rVSc6U/ESkcMaOjeG+vvWttn2dVL+6Z5+N+1QVqEiW8mntKSKy0fLl0QJz1KgY3LktqV+d5EklPxEpjPHj42KuhezeINJGip78zGyYmb1uZnPM7LIm5h9qZivN7MXk9vNs1xWREtmwIUpgBx8Me+9d6mhEWlTUak8z6wiMBY4EFgDTzOx+d3+10aL17n5MjuuKSLE98gi88Qb86leljkQkK8Uu+Q0B5rj7XHdfC0wAjivCuiLSlsaMiVaYJ5xQ6khEslLs5NcPmJ/2fEEyrbEDzOwlM3vYzD7XynVFpJjmzInr6Z1//sa+dyJlrtitPZsag6jxaDHPA7u4+0dmdjQwCRiY5brxIma1QC1A//79cw5WRLJw/fXQuXMkP5EKUeyS3wJg57TnOwEL0xdw9w/c/aPk8UNAZzPrnc26adsY5+417l6z3XbbFTJ+EUm3ahXcdhucfLI6mUtFKXbymwYMNLNdzawLMBLY5DJIZraDWYxSa2ZDkhiXZrOuiBTZXXfBypVw0UWljkSkVYpa7enuDWZ2EfAo0BG4zd1nmdnoZP6NwMnABWbWAHwMjEyuFt/kusWMX0TSuEdDly9+EQ44oNTRiLRK0Ud4SaoyH2o07ca0x2OAMdmuKyIlMnkyvPIK3HqrLikkFUcjvIhIbsaMiWHMTjut1JGItJqSn4i03oIFcN99cO65MZC1SIVR8hOR1rvpphjS7IILSh2JSE6U/ESkdT75BMaNg2OPhQEDSh2NSE6U/ESkdf70J1i8WN0bpKIp+Ym0d4sWwdChhbvg65gxsMce8JWvFGZ7IiWg5CfS3l11FUyZAldemd92Fi2CffaB556LUl8HHT6kcln0H2+/ampqfPr06aUOQ6T4unWDNWs2n965Mzz1FGy9NfTqFffdu7fcV+/CC+GGG6BTJ1i6FHr2bJOwpTyY2Qx3ryl1HG2l6J3cRaSNffgh/O1vcPzxMGnS5glw3To48MBNp3XqtDERNr6/4w5Yv37jsg0NMb1rV/j44zZ9KyJtRclPpD144w148EH461+jVLd2bSSofv1g7ty41NDatXDqqXDxxbBiRYzJuWLFpo/Tp73+etxvsQWsXr3xtbp2hZNOgmuuKcEbFSkMJT+RSrRuHUydGsnuwQdh9uyYvueekdxGjIjS3amnwlFHQW1tdE9YtAj237/1r3f++XDLLVFlunZtVHnqKg5SwZT8RMrZokUwciTU1UXV5MMPR8J79NEopXXpAoceGufjRoyA3XbbdP2JEzc+Hjs29ziWLIHRozdNoiIVTA1eRMrZyJFwzz3Qp0/0rXOPEteIEXDMMXDEEbDVVqWOUtohNXgRkeJr3FLzvffivksXeOcddTMQyZN+QSLl6O9/j2rOVPeD7t1h1CiYN0+JT6QA9CsSKTerV8eA0akk17VrlALVyESkYFTtKVJO3CPxvfxyXB19773VyESkDSj5iZSTm2+OTuVXXAGXX75xej4tNUVkM6r2FCkX06fDd74Dw4bBz35W6mhE2jUlP5FysHQpnHxynNO76y41ahFpY6r2FCm1DRvgjDPinN6UKbDttqWOSKTdK/rfSzMbZmavm9kcM7usifmjzGxmcnvazPZKm/eWmb1sZi+amXquS/vwy1/CI4/AddfBvvuWOhqRqlDUkp+ZdQTGAkcCC4BpZna/u7+attibwFB3X25mw4FxwH5p8w9z9/eLFrRIW3r00WjccuaZ0apTRIqi2CW/IcAcd5/r7muBCcBx6Qu4+9Puvjx5+iywU5FjFCmOefPg9NPh85+P6+S1dD09ESmYYie/fsD8tOcLkmmZnAM8nPbcgcfMbIaZZfybbGa1ZjbdzKYvWbIkr4BF2sQnn8App8S18e69N0ZwEZGiKXaDl6b+2jY5sraZHUYkv4PTJh/k7gvNrA/wuJnNdvfJm23QfRxRXUpNTU37HrlbKtMll8C0aXDffTBwYKmjEak6xS75LQB2Tnu+E7Cw8UJmNhi4BTjO3Zemprv7wuR+MXAfUY0qUlnuuANuvBF+9KO42rqIFF2xk980YKCZ7WpmXYCRwP3pC5hZf2Ai8A13/2fa9C3NrEfqMfBV4JWiRS5SCDNnxnXxDj0UfvWrUkcjUrWKWu3p7g1mdhHwKNARuM3dZ5nZ6GT+jcDPgW2B6y0aADQk15TaHrgvmdYJ+KO7P1LM+EXysnIlnHQS9OoFEybEVRtEpCSK/utz94eAhxpNuzHt8bnAuU2sNxfYq/F0kYrgDmefDW+9BU8+CdtvX+KARKqb/nqKFMM118CkSfDb38JBB5U6GpGqpwEERdItWgRDh8K77xZum08+CZddFl0bLr64cNsVkZwp+Ymku+qqGF/zyisLs72FC2HkyOjOcOut6sguUiaU/EQAunWLxHTDDTHQdGrElS5dYMYMWLWq9dtctw5OPRU++ggmToQePQoft4jkROf8pLqtXh1XSe/ZE9asiUsJbdiwsYS2bh3U1MTjAQNg0CDYc8+4Tz3eeuvNt7toUQxS/c478Mc/xrIiUjaU/KQ6ffRRlO6uuQYWL45+d/vtBw8+CF27wtq1cN55cY7u1Vfhtdfi/tVX4YknIlGm7Ljjpslw0KAYrPqdd2LcztNOK9W7FJEMlPykuqxcCWPGRKvLpUvhyCPjqumHHAInnhgd0GtrozS4aFEksz333HQb69dHl4VUMkwlxltv3bx69JVXohTZtSt8/HHR3qaINM/c2/fQlzU1NT59ui79V/WWL4ff/S5uK1bAiBGR9Pbbr8VVs+Ye5wd/9COYOjVKj927wwknRAlzhx0K91oibczMZiQDjLRLavAi7dv778NPfwq77AK/+EVUb06fDn/9a2ETH0QJr6YG9tgjrtbQtWtUj/bsqcQnUmaU/KR9eu89+OEPo5HK1VfD8OHw0ktxFYUvfantX3v0aHj22bgvZJ9BESkInfOT9mHRouhPd+21cPvtcNNNUe142mlR8mt83q4tTZy48fHYscV7XRHJmpKfVL4NG+B734PJk6PasUMH+MY34Mc/1rXyRKRJSn5SWVauhJdfjksDzZwZrTLTG21t2BC3u++G224rXZwiUtaU/KS0UtWVdXWbNgpZvx7eeCPO06US3cyZ0cUg5VOfikYry5bF9MatK0VEMlDyk9JKjaV5/vlwxBGR4F56KfrHpfrFdewYLSj33z/64O21FwweDP36RQvLCy6IEqBaV4pIlpT8pLiWLo2+cCNGRHeAlPvvjxvA4YdHK8nBg+M2aFAktkxSrSvTO6eLiDRDyU9yk6m6Mt2yZZHopk+P+xkzNq223GqrKN2tXw9bbBEJccwY6Nu3dbGodaWItJKSn+Qm/dI/118fI6ikElwq2b355sbld98dhgyBCy+Mfnb77BOtMVPVlWvXxtXNW5v4RERyoORXbbIpsWWyYUM0KPnkk43Tbrghbul22y26HIwevTHRfepTm29P1ZUiUiJKfpUin6SVrnGJLWX16rgKQXO3RYs2PU8H0eBkp52iX91hh0Wi22ab7GJRdaWIlEjRB7Y2s2HA74COwC3u/utG8y2ZfzSwGjjb3Z/PZt2m5DywdaGSTaG2c+GFMWrJ+edvmrQa++QT+PDDjbcPPoj7446La9M1ZhbXo1uxYvN5PXpEi8rGtwcegMceiwu9rlvXckwiUnHa+8DWRS35mVlHYCxwJLAAmGZm97v7q2mLDQcGJrf9gBuA/bJct3AylZCa4x6NN9avjxLS+vUxtNaUKTHO5BVXRHJauzbus3l82WWblrZS1YwdOsABB2xMbqnb2rXZv8dttonzcLvv3nSSy3Tl8b//PboXqLpSRCpUUUt+ZnYAcIW7H5U8/zGAu1+dtsxNwJPufnfy/HXgUGBAS+s2pdUlv27dNr1Qabodd9w8uaXfb9iQ/evko0ePSFjbbBOPe/aM+9Qt0/Orr46RT7p0iSSpEpuIZKCSX2H1A+anPV9AlO5aWqZflusCYGa1QC1A//79Wxfh3Lnwgx/AvfdGyatjR9h55ygh9egRzzt1avl+1Sp46KHorL1uXSScL30JzjorWjV26RLN+7fYYuPjpqZtsUVcTfzmmzcmrTPOyC1prV6tBiYiIhQ/+VkT0xoXPTMtk826MdF9HDAOouTXmgDp2zdKSuvWbWyCP3x4bslm6dIYrSS1nb33jtJWay1eXJikpQYmIiJA8ZPfAmDntOc7AQuzXKZLFusWRqGa4BdqO0paIiIFVexzfp2AfwJfAd4BpgGnu/ustGVGABcRrT33A65z9yHZrNuUnFt7iohUMZ3zKyB3bzCzi4BHie4Kt7n7LDMbncy/EXiISHxziK4O32xu3WLGLyIi7UPR+/kVm0p+IiKt195Lfh1KHYCIiEixKfmJiEjVUfITEZGqo+QnIiJVp903eDGzJcC8UsdRIL2B90sdRBnT/slM+6Z52j+b28Xdtyt1EG2l3Se/9sTMprfn1lf50v7JTPumedo/1UfVniIiUnWU/EREpOoo+VWWcaUOoMxp/2SmfdM87Z8qo3N+IiJSdVTyExGRqqPkJyIiVUfJrwyZ2TAze93M5pjZZU3MH2VmM5Pb02a2VyniLJWW9k/acvua2XozO7mY8ZVSNvvGzA41sxfNbJaZPVXsGEspi9/W1mb2gJm9lOyfb5YiTml7OudXZsysI3HdwiOJC/tOA05z91fTljkQeM3dl5vZcOAKd9+vJAEXWTb7J225x4E1xOWv/lzsWIsty+9OL+BpYJi7v21mfdx9cSniLbYs989PgK3d/VIz2w54HdjB3deWImZpOyr5lZ8hwBx3n5v84CYAx6Uv4O5Pu/vy5OmzxFXtq0WL+yfxHeBeoCoO7Ils9s3pwER3fxugWhJfIpv940APMzNgK2AZ0FDcMKUYlPzKTz9gftrzBcm0TM4BHm7TiMpLi/vHzPoBJwA3FjGucpDNd+czwKfM7Ekzm2FmZxYtutLLZv+MAfYEFgIvAxe7+4bihCfFVNQruUtWrIlpTdZNm9lhRPI7uE0jKi/Z7J9rgUvdfX38ga8a2eybTsCXgK8A3YBnzOxZd/9nWwdXBrLZP0cBLwKHA7sDj5tZvbt/0MaxSZEp+ZWfBcDOac93Iv6FbsLMBgO3AMPdfWmRYisH2eyfGmBCkvh6A0ebWYO7TypKhKWTzb5ZALzv7quAVWY2GdiLOBfW3mWzf74J/NqjMcQcM3sT+Czwj+KEKMWias/yMw0YaGa7mlkXYCRwf/oCZtYfmAh8o0r+sadrcf+4+67uPsDdBwB/Bi6sgsQHWewb4C/AIWbWycy6A/sBrxU5zlLJZv+8TZSKMbPtgT2AuUWNUopCJb8y4+4NZnYR8CjQkWipOMvMRifzbwR+DmwLXJ+UbhqqZUT6LPdPVcpm37j7a2b2CDAT2ADc4u6vlC7q4snyu3MVMN7MXiaqSS91d13qqB1SVwcREak6qvYUEZGqo+QnIiJVR8lPRESqjpKfiIhUHSU/ERGpOkp+IkVmZgPMrCq6F4iUKyU/ERGpOkp+IqXR0cxuTq4Z95iZdSt1QCLVRMlPpDQGAmPd/XPACuCk0oYjUl2U/ERK4013fzF5PAMYULpQRKqPkp9IaXyS9ng9GmdXpKiU/EREpOoo+YmISNXRVR1ERKTqqOQnIiJVR8lPRESqjpKfiIhUHSU/ERGpOkp+IiJSdZT8RESk6ij5iYhI1fn/7uAjJwkZ27AAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "seps=np.arange(0.1,1,0.05)\n",
    "Infty_errors=[]\n",
    "for h in seps:\n",
    "    x=np.arange(x_min,x_max,h)\n",
    "    Runge_Kutta_four_order=[]\n",
    "    for i in range(len(x)):\n",
    "        if x[i]==initial_x:\n",
    "            Runge_Kutta_four_order.append(initial_y)\n",
    "        else:\n",
    "            K_1=F(x[i-1],Runge_Kutta_four_order[i-1])\n",
    "            K_2=F(x[i-1]+h/2,Runge_Kutta_four_order[i-1]+h/2*K_1)\n",
    "            K_3=F(x[i-1]+h/2,Runge_Kutta_four_order[i-1]+h/2*K_2)\n",
    "            K_4=F(x[i-1]+h,Runge_Kutta_four_order[i-1]+h*K_3)\n",
    "            Runge_Kutta_four_order.append(Runge_Kutta_four_order[i-1]+h/6*(K_1+2*(K_2+K_3)+K_4))\n",
    "            \n",
    "    Infty_errors.append(np.max(np.abs(Solve_Y(x)-Runge_Kutta_four_order)))\n",
    "    \n",
    "    \n",
    "    \n",
    "plt.plot(seps,Infty_errors,marker='*',c='r')\n",
    "plt.xlabel('h')\n",
    "plt.ylabel('Infinity Error')\n",
    "plt.title('Infinity errors of 4-th Runge-Kutta methods in range {}-{} with different h'.format(x_min,x_max))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cf61d23e",
   "metadata": {},
   "source": [
    "## 预测-校正 Adams方法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "b550d965",
   "metadata": {},
   "outputs": [],
   "source": [
    "def Runge_Kutta_4(x,y,h,F):\n",
    "    # x and y are results of the last step\n",
    "    K_1=F(x,y)\n",
    "    K_2=F(x+h/2,y+h/2*K_1)\n",
    "    K_3=F(x+h/2,y+h/2*K_2)\n",
    "    K_4=F(x+h,y+h*K_3)\n",
    "    return y+h/6*(K_1+2*(K_2+K_3)+K_4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "id": "37d0c81f",
   "metadata": {},
   "outputs": [],
   "source": [
    "x_max=1\n",
    "h=0.2\n",
    "x=np.arange(x_min,x_max,h)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "10c920d8",
   "metadata": {},
   "outputs": [],
   "source": [
    "f_n=[]\n",
    "Adams_pc=[]\n",
    "for i in range(len(x)):\n",
    "    if x[i]==initial_x:\n",
    "        f_n=[F(initial_x,initial_y)]\n",
    "        Adams_pc.append(initial_y)\n",
    "    else:\n",
    "        if i<4:\n",
    "            yn=Runge_Kutta_4(x[i-1],Adams_pc[i-1],h,F)\n",
    "            Adams_pc.append(yn)\n",
    "            f_n.append(F(x[i],yn))\n",
    "        else:\n",
    "            p_=Adams_pc[i-1]+h/24*(55*f_n[i-1]-59*f_n[i-2]+37*f_n[i-3]-9*f_n[i-4])\n",
    "            f_n_=F(x[i],p_)\n",
    "            c_=Adams_pc[i-1]+h/24*(9*f_n_+19*f_n[i-1]-5*f_n[i-2]+f_n[i-3])\n",
    "            Adams_pc.append(c_)\n",
    "            f_n.append(F(x[i],c_))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "da21f522",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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btwIQGpqKsuXL8+3O+Gnn36aWrVqsW7dOtatW0diYmKh2+vSpQsrV67EzHj22Wd56KGH+POf/1zocvfddx/vvvsuzZo1Y9++fZxyyincd999OZoDvuuuu7jkkkt47rnn2LdvHx06dKB3794AfP7556xfv55atWqRnJzMpZdemmf/Aampqbz88susXr2ajIwMEhMTad++fYGxnX766SxZsoQaNWqwadMmrrjiipBuizzzzDNs3bqV1atXU7VqVX755ReOHj3K6NGjef/99zn//PMZNWoUTz/9NJMmTQKgRYsWrFixgsmTJzN69Gg++eQTjh49SuvWrbnxxhsD73XDhg2cffbZ9O/fn9dff50ePXrwpz/9iaVLl1K7dm0efPBBHn30Ue655x4AGjVqxKpVq/jrX//KI488wrPPPssjjzzCU089RefOnTl06BA1atQAYOHChdSrV489e/Zw8cUXM2jQIGbMmMH69esDHVC99957bNq0ic8//xznHIMGDeKjjz6iW7duhe4XESm67HqFb79dvusVKgkoBdm3A4pj6dKlbNiwITB84MCBQM98gwYNyjcBAPjoo4+YOHEiAPHx8cTHxxe6vR07djBy5Eh27tzJ8ePHadmyZUhxdu7cmdGjRzNixAiGDh2a5zzvvfceb775ZuAe/tGjR/nhhx8A6NOnDw0bes/dDh06lOXLl+eZBHz88ccMGTKEWrVqAd4+KMyJEyeYMGECa9asISYmhm+//Tak97R06VJuvPFGqlb1vhYNGjRg7dq1tGzZkvPPPx+Aa665hqeeeiqQBGTH06ZNGw4dOkTdunWpW7cuNWrUYN++fQB06NCBc87xHjW64oorWL58OTVq1GDDhg2B3hOPHz9Op06dArFk79P27dvz+uuvA94+v+2227jqqqsYOnQozZs358SJE9x111189NFHVKlShR9//DHP0pz33nuP9957j3bt2gFw6NAhNm3apCRApBRVhHqFSgLKUNWqVQNFwUePHs1znqysLFasWJHnyb527dqFbsPMCh0fvO1bbrmF2267jUGDBrFs2TKmT59e6DYAZs2axWeffcbixYtJSEjIM+lxzvHaa6/RqlWrHOM/++yzk+LML+6CpuW3Px977DGaNGnC2rVrycrKClwxF8Y5d9K2CmtRs7qf3lepUiXwOns4u+5GXu/VOUefPn2YN29e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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(8,6))\n",
    "plt.scatter(x,Solve_Y(x),s=6, marker='*',c='black')\n",
    "plt.scatter(x,Euler_improved,s=6, marker='*',c='red')\n",
    "plt.scatter(x,Euler_polygonal_arc,s=6, marker='*',c='blue')\n",
    "plt.scatter(x,Euler_dual_step,s=6, marker='*',c='green')\n",
    "plt.scatter(x,Euler_dual_step_dual_compensate,s=6, marker='*',c='orange')\n",
    "plt.scatter(x,Runge_Kutta_four_order,s=6, marker='*',c='pink')\n",
    "plt.scatter(x,Adams_pc,s=6, marker='*',c='cyan')\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "Parsing_Solution=mpatches.Patch(color='black', label='Parsing_Solution')\n",
    "Euler_improved_match=mpatches.Patch(color='red', label='Euler_improved')\n",
    "Euler_polygonal_arc_match=mpatches.Patch(color='blue', label='Euler_polygonal_arc')\n",
    "Euler_dual_step_match=mpatches.Patch(color='green', label='Euler_dual_step')\n",
    "Euler_dual_step_dual_compensate_match=mpatches.Patch(color='orange', label='Euler_dual_step_dual_compensate')\n",
    "Runge_Kutta_four_order_match=mpatches.Patch(color='pink', label='Runge_Kutta_four_order')\n",
    "Adams_pc_match=mpatches.Patch(color='cyan', label='Adams_pc')\n",
    "plt.title('Comparison of different numerical deviarion methods in range {}-{} with h={:.1f}'.format(x_min,x_max,h))\n",
    "plt.legend(handles=[Parsing_Solution,Euler_improved_match,Euler_polygonal_arc_match,Euler_dual_step_match,\\\n",
    "                    Euler_dual_step_dual_compensate_match,Runge_Kutta_four_order_match,Adams_pc_match],loc='best')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "66e42650",
   "metadata": {},
   "outputs": [],
   "source": [
    "seps=np.arange(0.1,1,0.05)\n",
    "Runge_Kutta_Infty_errors=[]\n",
    "for h in seps:\n",
    "    x=np.arange(x_min,x_max,h)\n",
    "    Runge_Kutta_four_order=[]\n",
    "    for i in range(len(x)):\n",
    "        if x[i]==initial_x:\n",
    "            Runge_Kutta_four_order.append(initial_y)\n",
    "        else:\n",
    "            K_1=F(x[i-1],Runge_Kutta_four_order[i-1])\n",
    "            K_2=F(x[i-1]+h/2,Runge_Kutta_four_order[i-1]+h/2*K_1)\n",
    "            K_3=F(x[i-1]+h/2,Runge_Kutta_four_order[i-1]+h/2*K_2)\n",
    "            K_4=F(x[i-1]+h,Runge_Kutta_four_order[i-1]+h*K_3)\n",
    "            Runge_Kutta_four_order.append(Runge_Kutta_four_order[i-1]+h/6*(K_1+2*(K_2+K_3)+K_4))\n",
    "            \n",
    "    Runge_Kutta_Infty_errors.append(np.max(np.abs(Solve_Y(x)-Runge_Kutta_four_order)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "57d6c0d1",
   "metadata": {},
   "outputs": [],
   "source": [
    "Adams_pc_Infty_errors=[]\n",
    "for h in seps:\n",
    "    x=np.arange(x_min,x_max,h)\n",
    "    f_n=[]\n",
    "    Adams_pc=[]\n",
    "    for i in range(len(x)):\n",
    "        if x[i]==initial_x:\n",
    "            f_n=[F(initial_x,initial_y)]\n",
    "            Adams_pc.append(initial_y)\n",
    "        else:\n",
    "            if i<4:\n",
    "                yn=Runge_Kutta_4(x[i-1],Adams_pc[i-1],h,F)\n",
    "                Adams_pc.append(yn)\n",
    "                f_n.append(F(x[i],yn))\n",
    "            else:\n",
    "                p_=Adams_pc[i-1]+h/24*(55*f_n[i-1]-59*f_n[i-2]+37*f_n[i-3]-9*f_n[i-4])\n",
    "                f_n_=F(x[i],p_)\n",
    "                c_=Adams_pc[i-1]+h/24*(9*f_n_+19*f_n[i-1]-5*f_n[i-2]+f_n[i-3])\n",
    "                Adams_pc.append(c_)\n",
    "                f_n.append(F(x[i],c_))\n",
    "            \n",
    "    Adams_pc_Infty_errors.append(np.max(np.abs(Solve_Y(x)-Adams_pc)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "b679e615",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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xrJy5UquuuoqLrjggpxprvfs2UPfvn2JiYmhQ4cOOdNE56dmzZr88Y9/pEuXLsTFxXHgwAEAfv75ZwYOHEjnzp3p0qULW7duLfI9vv/++9x4440MHjyYiy66iMcffxyA8ePHs2DBAsaOHcvw4cOZOHEiL730Us4U1m3atOHMmTMAHDt2jNatW+dcz2vr1q0MHjyYrl270qdPn5xWnTFjxvDII48wYMAA/vSnP51zfdWqVVxxxRV06tSJG264gcOHDwPS+vPkk0/Sr18/XnnlFWbMmEGHDh3o3Lkzffv2LfI9K6VUoZYsgawssnv1ITkZCliCp+Jzey1yfy9du3Y9Z631DRs25Fl7PfCXonz44Yf2rrvustZa26NHD7tixQr7n//8x955553WWmtXr15tw8PD7bJly6y11qamplprrc3MzLT9+vWzq1evttZa26pVK/vmm29aa639/e9/bzt27GiPHTtm9+/fbxs2bGittfbFF1+0f/3rX3Oef+zYsQLjAuxHH31krbX2L3/5i33ggQestdZ269bNzpo1y1prbXp6uj1x4kS+z09JSbHt27e31lo7efJk26ZNG3vkyBGbnp5uW7ZsaXfu3GmttbZfv3457+3ZZ5+1L7zwQs42xowZYz/77DNrrbVvvfWWfeSRRwqM1+Px2M2bN1trrV2yZIkdMGCAtdba0aNH22uvvdZmZmbme71jx452/vz51lprn376afvwww/nxHX//ffnbL9Dhw529+7d1lprDx8+XGAcxZX3M6iUqiSeftrasDC7ZlGaBWvffz/wLwEstyFw/i3soi0RpTRlyhRGjBgBwIgRI5gyZQpJSUncdtttAHTq1IlOnTrlPH769Ol06dKFyy67jPXr17Nhw4ac+4YNGwZAx44d6d69O9HR0TRs2JDIyEiOHDnC5ZdfzuTJk3nuuedYu3Yt0dHRBcYVFhbGrbfeCsBtt93GggULSEtL45dffslZjyMyMpLq1av79T7j4uKoXbs2kZGRtGvXjh07dhT5nHvuuYfJkycDMsNmQTNMHj9+nEWLFjF8+HBiYmK477772LNnT879w4cPJzw8/JzrR48e5ciRIzmrcI4ePZqkpKScx3nfP8hsnmPGjGHSpEkBX4lUKVUJJSdDTAxJK2sClbclQueJKIXU1FQSEhJYt24dxhiysrIwxnDZZZdhjDnn8SkpKbz44ossW7aMunXrMmbMGE6dOpVzf7Vq1QBJALy/e69nZmbSt29fkpKS+Oabb7j99tt57LHHuOOOO/yK1RiDLcXspL7xhIeH+1Vn0KtXL7Zv305iYiJZWVkFFmpmZ2dTp06dApc4z7tyqL8rifo+buLEiSxdupRvvvmGmJgYVq1aRf369f3ajlJK5ZKRId0ZY8eSmAgtWsgaXJWRtkSUwsyZM7njjjvYsWMH27dvZ9euXbRp04YuXbrw8ccfA7Bu3TrWrFkDSF1AjRo1qF27Nvv27eO7774r1uvt2LGDRo0a8dvf/pa7776blStXFvjY7OxsZs6cCcAnn3xC7969qVWrFs2bN+fzzz8H4PTp05w8ebIE7zx/0dHRpKWl5brtjjvuYOTIkYWuc1GrVi3atGnDjBkzAOliW716dZGvV7t2berWrZtTG/Lhhx/mtErktXXrVrp378748eNp0KABu3bt8vdtKaVUbitWwKlT2N59SEqSVoh8vjdWChUqiWjcuGy3N2XKlHOW6r7pppvYvn07x48fp1OnTvz73/+mW7duAHTu3JnLLruM9u3bc9ddd9GrV69ixTN//nxiYmK47LLL+PTTT3n44YcLfGyNGjVYv349Xbt2JSEhgWeeeQaQE+2rr75Kp06d6NmzJ3sDOBZp6NChfPbZZzmFlQCjRo3i8OHDjBw5stDnfvzxx7z77rt07tyZ9u3b88UXX/j1mh988AGPPfYYnTp1YtWqVTnvM6/HHnuMjh070qFDB/r27Uvnzp2L9+aUUsrLOb5tbtqPffugMtdq6wJcFVTNmjU5fvy422Ewc+ZMvvjiCz788EO3QwkK/QwqVQkNHQpbtjDpj5u4917YtAkuuSTwL1MeFuDSmggVNA899BDfffcd3377rduhKKVUYGRnw4IFcPPNJCZKi/XFF7sdlHs0iSjnunfvzunTp3Pd9uGHH/rdCrF27Vpuv/32XLdVq1aNpUuXljq211577ZzbHnjgARYuXJjrtocffrjQmgmllAoZ69bBkSPY3n1IfEq6MiprPQRUgCTCWpvvSIjKorQn+44dOxY4KiIY3njjjTJ7rWArL12BSqkAcuohdlzgYffuyju006tcF1ZGRkaSmpqqB3NV5qy1pKamEhkZ6XYoSqmylJwMzZuT+HMzoHIXVUI5b4lo3rw5u3fvzpnSWamyFBkZSfPmzd0OQylVVqzFO8d1UrKhXj1o397toNxVrpOIiIgI2rRp43YYSimlKoOUFPj1V+jTh8T/QJ8+EFau2/NLr5K/faWUUspPTj3ELxcPYOtWrYcATSKUUkop/yQlQd26JO2VMZ2VvR4CNIlQSiml/JOcDL17k7QgjOho0IlvNYlQSimlirZ3L2zZAn37kpQEvXtDlXJdVRgYmkQopZRSRVmwAIADHQawYYN2ZXhpEqGUUkoVJTkZqlcn+Zj0YWhRpdAkQimllCpKcjJccQWJC6sQFQVdu7odUGjQJEIppZQqzNGjsGoV9OlDUhL07AlVq7odVGjQJEIppZQqzKJFYC2HYwawerXWQ/jSJEIppZQqTHIyVKnCwszuWKtJhK+gJhHGmPeMMfuNMet8bqtnjJljjNni/KwbzBiUUkqpUklOhq5dSfohkqpVoXt3twMKHcFuiXgfGJzntieAeGvtRUC8c10ppZQKPadOwQ8/yHoZidCtG0RFuR1U6AhqEmGtTQIO5bn5OuAD5/cPgOuDGYNSSilVYsuWQUYGx2P7s2KFDu3My42aiMbW2j0Azs9GBT3QGHOvMWa5MWa5LvetlFKqzDmLbi0K70NWltZD5BXShZXW2rettbHW2tiGDRu6HY5SSqnKJikJ2rcnaVUtwsNleKc6y40kYp8xpimA83O/CzEopZRShcvKkuGdTj1E165Qs6bbQYUWN5KIL4HRzu+jgS9ciEEppZQq3OrVkJZGevf+/PCDdmXkJ9hDPKcAi4FLjDG7jTF3A/8EBhljtgCDnOtKKaVUaHHqIX6oMYCMDC2qzE9QFzK11o4s4K64YL6uUkopVWrJydC6NYkbG2GMLP+tcgvpwkqllFLKFdZKEuGsl9G5M9Sp43ZQoUeTCKWUUiqvzZth/34yevRj0SKthyiIJhFKKaVUXk49xIo6caSnaz1EQTSJUEoppfJKToaGDUnc3gqAPn1cjidEaRKhlFJK5ZWcDL17k5RsaNsWdL7D/GkSoZRSSvn65RdISSGzVz8WLNCujMJoEqGUUkr5cuohVje+krQ0LaosjCYRSimllK/kZKhZk6S9FwOaRBRGkwillFLKV1IS9OxJ4oJwLrgAmjVzO6DQpUmEUkop5XXoEKxbR3avPiQnaz1EUTSJUEoppbwWLgRgfYvBHDqkXRlF0SRCKaWU8kpOhogIko50ArQloiiaRCillFJeycnQrRuJi6vSogW0auV2QKFNkwillFIK4ORJWL4c21sW3erbF4xxO6jQpkmEUkopBbBkCWRmsuWCwezbp10Z/tAkQimllALpyjCGxJOXA1pU6Q9NIpRSSimQJKJTJ5KWV6dxY7j4YrcDCn2aRCillFJnzsDixdjefUhM1HoIf2kSoZRSSv34I5w8yY62g9m1S+sh/KVJhFJKKeUsupWY1QvQegh/aRKhlFJKJSXBhReStLoO9epB+/ZuB1Q+aBKhlFKqcsvOhgULoI/MD9GnD4Tp2dEvupuUUkpVbhs3wqFD/NrhSn7+WbsyikOTCKWUUpWbUw+RFNYf0KLK4tAkQimlVNH27JGz6969bkcSeMnJ0KQJiZsaEx0NnTu7HVD5oUmEUkqpoj3/vNQNjB/vdiSBl5wMffuSlGzo3RuqVHE7oPJDkwillFIFi4qSWZcmTJACxAkT5HpUlNuRBcaOHbBrFwdiBrFhg9ZDFJcmEUoppQq2bRv85jdnhytERsKoUZCS4m5cgZKUBEBytYGAJhHFpUmEUkqpgjVtCjVqSCsEwOnTUKsWNGniblyBkpwMtWuTtKMlUVEQG+t2QOWLJhFKKaUKt2nT2d9bt65YxZXJydCrF4lJYfToAVWruh1Q+aJJhFJKqcLFxUl3xrBhkJYGn37qdkSBceAAbNrEkdiBrF6tQztLQpMIpZRShUtIgC5d4Lrr4ODB3C0T5dmCBfKjxlVYq/UQJaFJhFJKqYKdOAGLF0trhPcs6xQjlnvJyRAZSdK+i6laFbp3dzug8keTCKWUUgVbuBDOnAGPBy64QAotK0oSkZQE3buTuKAK3bpVnFGrZUmTCKWUUgVLSICICOjVS+aH6NsXEhPBWrcjK520NPjxR453j2PFCu3KKClNIpRSShUsIQGuuEKGeYKcbX/5pfzPE7F4MWRns6jONWRlaVFlSWkSoZRSKn9HjsCKFeDxnF06o51H7ivvXRrJyRAWRtKhDoSHQ48ebgdUPmkSoZRSKn+JiTLJVFwc48c7S2dMuwTq1asYScRll5G0tBpdu0J0tNsBlU+aRCillMpfQgJRnMT07cPEic7SGRMN5lAqUe+/6XZ0JXf6NCxdSnoPD0uXaj1EaWgSoZRSKn8JCWzrd1eupTOqVYNRXTaSYltLbUR5tGIFnDrFD42HkJGh9RCloUmEUkqpc+3bB+vW0fTqGKKizi6dkZEBtc6vTxP2SZdAeeR0xSSmdcUY6N3b5XjKMU0ilFJKnWvePPkZF8eGDfJr1aoyTcTezAZSRFBe6yKSk+HSS0laUYPOnaFOHbcDKr9cSyKMMX8wxqw3xqwzxkwxxkS6FYtSSqk8EhKgdm247DK6d5cVwH/7W0hNhY8/CZN5I8pjEpGVBQsXktGzP4sWaT1EabmSRBhjmgG/A2KttR2AcGCEG7EopZTKR0IC9O8P4eHMmQN9+sA110hN4uLFyNl3/XpZS6M8WbcOjh5lRbNhpKdrElFabnZnVAGijDFVgOrAry7GopRSymvHDti6NWd+iPXrYeBASSTCwyW/yDn7lre6CCfepAxZKEOTiNJxJYmw1v4CvAjsBPYAR62137sRi1JKqTwSEuRnXBxz58qvgwZJGUS3bs7dsbHSx1HeujSSk6F5cxLX1KVtW2jY0O2Ayje3ujPqAtcBbYDzgBrGmNvyedy9xpjlxpjlBw4cKOswlVKqckpIgEaNoF075s6FBg2gc2e5y+OBH36AtIxqMh12eUoirIWkJLJ692PBAqNDOwPAre6MgUCKtfaAtfYMMAvomfdB1tq3rbWx1trYhpouKqVU8FkrSYTHg8UwZ46sAu6dJ8LjkdrE5GSkL2DVKjh61M2I/bd1K+zdy6rW15OWpl0ZgeBWErETuMIYU90YY4A4YKNLsSillPLavBl+/RU8HjZuhD17pB7Cq0cPmXAqpy4iOxsWLXIt3GLx1kNky8QQmkSUnls1EUuBmcBKYK0Tx9tuxKKUUspHfLz8jItjzhz5ddCgs3dHRUHPnk4S0aMHVKlSfro0kpOhXj0SNzXmggugWTO3Ayr/XBudYa191lp7qbW2g7X2dmvtabdiUUop5UhIgFatoE0b5s6FCy+Uq748HunFSE2vDpdfXq6SiOxefUheYLQVIkB0xkqllFIiO1tmqvR4OJNpmD8/dyuEl8cjpROJiUifwLJlcPJkWUdbPKtXw88/s+G8gRw6pOtlBIomEUoppcSaNXDoEHhkdcvjx3PXQ3hdfjnUqOFTF3HmDCxZUubhFsvjjwOQuKQaoPUQgaJJhFJKKeGth/B4mDNHRmQMGHDuwyIi5CSckIBMf21M6HZpREVJfN/LVERJq2vRgp20bhvlcmAVgyYRSimlREICXHopnHcec+fKfFJ16+b/UI8HGb1xsjbExIRuErFtG4wcCcZggUT607f1Lsz2FLcjqxA0iVBKKSVdEklJ4PFw9CgsXZp/PYSXxyM/581DmiUWL5Z1wkNN06aQmQnWsqVKO/bRmH6ttkOTJm5HViFoEqGUUgqWL5ciCI+HxESZUCq/egivzp2llSKnLuLUKdlGKFqzBoDE330KQN+IxW5GU6FoEqGUUkrqIYyB/v2ZMweqV5dpIAoSHi6LfCYkICtzQWh2aVgro04GDiRp/6U0bgwXf/+621FVGJpEKKVUWdmzR8YW7t3rdiTnSkiQ2ob69Zk7VxoXqlUr/CkeD6SkQMrxhtCuXWgmEatWwZYtcMstJCXJ+zLG7aAqDk0ilFKqrDz/PCxYAOPHux1JbunpMnW1x8Pu3bBpU+FdGV7n1EUsWCD9IKFk+nQID+eHljezc6fkSSpwNIlQSqlg8w4znDBBmtYnTJDrUSEyzHDxYjh9GjyeXEt/F6VtW2jc2KcuIi1NJnUKFdZKEjFwIP/3bxlmEkrhVQSaRCilVLBt25a7wKB6dRg1SvoCQkFCgqyB0acPc+bIKuAdOhT9NGNkHomEBLC9nbqIxMTgxlocK1YQtW0dZvb/JNFBcopQyt/KO00ilFIq2Jo2hdRU+d0YGclQq1boDDOMj4du3bA1o5k7V7oywvw8O3g8Uuqx+WRzOP/80KqLmD6dbeEXM/LGs0szhVr+Vt5pEqGUUsFmLezcKZWK1sK114ZOceWxY7L2hcfD2rWwf79/9RBe3rqInC6N5GTpsnGb05XR9KpOnMiUCtGIiNDL38o7TSKUUirYNm+Ws9cLL0CDBjI+ctYst6MSyclSDOlTD1GcJOL886FlS58kIjVVprJ02w8/wI4dcMstrFlzdsXysWNDJ3+rCDSJUEqpYPOuSXHttXD33fDll7Brl7sxeSUkQGQk9OjBnDlwySXQooX/TzdGWiPmzYPs3s6qVqHQpTF9OlStyplrruPYMRg+HK64At54I3Tyt4pAkwillAq2uXOhdWv52n7ffdLUPmmS21GJ+Hjo1YvTJpKkJP9GZeTl8UgDxNoT58N557mfRGRnSxJx1VXMWVaHQ4dk+QwVeJpEKKVUMGVlydd0bx9BmzZw9dWSRJw5425sBw/KmEePh8WL4eTJ4nVleHlX+kyYZ2QyraQkSZTcsmQJ7N4Nt9zC1KlQpw5ceaV74VRkmkQopVQwrVwJR45AXNzZ28aNk475zz93Kyoxf778dOohvFNZF1fz5nDxxT51Eb/+KsNa3TJ9OlSrRvqgYXz2Gdx0U9Gzb6qS0SRCKaWCyVut6B3GADB4sHRvvPmmKyHlSEiA6GiIjWXOHOjWDWrXLtmmPB6ZIiKzp8t1EdnZMGMGXH013y6oxfHjMGKEO6FUBppEKKVUMMXHQ6dOMoOTV3i41EbMnw8bNrgWGvHx0Lcvh9OqsHx5yeohvDwembByxcm2MgLFrUmnFi6UlhCnK6Nx47PdLSrwNIlQSqlgSU+X9STyKzS46y6oWhUmTiz7uEBqBjZvhrg45s/PWeiyxLzdIAnzjKzq6VZLxPTpEBnJsb5D+PprGZURHu5OKJVBkUmEEcUY8KOUUgqQRa1On85dD+HVqJGc4T74AI4fL/vY5s2Tnx4Pc+ZAzZoyBLKkGjaUBpecuoiUlLIfxpqVBTNnwrXX8uW8aE6d0q6MYCsyibDWWuDz4IeilFIVzNy5MstRX6kTOGcl8PvvlxkjP/mk7GNLSID69aFjR+bOlbgiIkq3SY9HGl5OX9FPbkhOLn2cxZGcLDv3lluYMkUmwfJdskQFnr/dGUuMMZcHNRKllKpo4uPl633NmgA880yelcB79pSv7xMmlO2QSGsltgED2LErjC1bSlcP4eXxyMScS052koLNsu7SmD4dqlcn9Ypr+f57uPVW/9cAUSXj7+4dACw2xmw1xqwxxqw1xqwJZmBKKVWuHT4My5fDwIE5K4G/806elcCrGxnuuWqVzG1QVrZula6GuLgSTXVdkL595aSdkBgOvXuXbRKRmSldGUOG8On/apCZqRNMlQV/k4irgQsADzAUGOL8VEoplZ/58+Ubf1wc27ZBu3Zn78q1kuSoUfKtvSyHe3rXxXbqIZo2zR1fSdWuDbGxzub79ZM1NPbvL/2G/ZGYCAcO5IzKuPhiiIkpm5euzPxKIqy1O4A6SOIwFKjj3KaUUio/c+dKN0b37jRtmvtcmp7us5JkzZpwxx3SFH/wYNnElpAAzZqRfcFFxMdLK4Qxgdm0xyONKicu7y83LFgQmA0XZfp0qFGDPTFXM3++tEIE6j2pgvmVRBhjHgY+Bho5l4+MMQ8FMzCllCrXnDkYiIjgwAHJDzp3lrWuLrooz0qS998PGRnw3nvBj8taSSI8HlavMRw8GJh6CC+PR3oWFpzsAlFRZdOlceYMfPopDBvG9K+rY63UQ6jg87c7426gu7X2GWvtM8AVwG+DF5ZSSpVju3fDTz/lFBrMmSM3v/22LEW9bRu88orP49u3l4Rj4kQpmgimdeuk2d+nHiK/Eagl1auXjPJISI6QoRFlMenUvHmyApjTldG5M7RtG/yXVf4nEQbI8rme5dymlFIqL+/S387ZefZsqFcPunaF3/9eGgNefjnPc8aNkyKJ2bODG5u3HmLAAObMkfzlvPMCt/nq1SV3yJkvYvVqWTskmKZPh+hoUi69miVLtKCyLPmbRLwHLDXGPGeMeQ5YArwbtKiUUqo8mztXJpPq0AFr4fvvpcsgPBxatZKm9rffznNuveEGmaM52AWWCQlw4YWcatSS5OTAjMrIy+ORdccOX+aRjGnhwsC/iFdGBsyaBdddx7TPZZUt7cooO/7MWBkGLAXuBA4Bh4E7rbUvBzc0pZQqh7xzMMTFQVgYa9dK/cNVV519yGOPySSVb73l87yqVeGee+Cbb2D79uDElpkpo0Y8HhYulDkdAlkP4eXxSK9M0qlu0rcRzLqI+HgZTutMMNWjh6xtpsqGPzNWZgP/sdautNa+aq19xVr7YxnEppRS5c/GjTI1pU9XBuQ+WcfESAvAK6/IrNg57r1XhhS8/XZwYlu5UmbIdOohfCbTDKju3aWmMmFhNbj88uAmEdOnQ+3abGhxFWvW6DTXZc3f7ozvjTE3GaMDZpRSqlB5Zm+aPVvqDpo3z/2wxx6TXCPXjNctW8KQITIrVa7sIkC89RD9+zNnjnxrj44O/MtUrSprcOXURSxfDidOBP6FTp+Gzz6D669n2mdVCQuDW24J/MuogvmbRDwCzABOG2OOGWPSjDHHghiXUkqVT/HxcMEF0KoVJ0/Kcg6+XRlegwbJKIIXX8wzIGPcOBk9MWtW4GNLSICOHUkNb8TKlcGph/DyeGQgyP7Og6QbJRgzcs6ZA0ePYodLV0b//s7cG6rM+FsTMdhaG2atrWqtrWWtjbbW1iqD+JRSqvzw1hw4Z+fERKn7yy+JMAYefRQ2bID//c/njkGDJAkJdIHl6dMy8ZPHQ0KClG4Eox7Ca8AA+Tn/1BUyF3YwujSmT4e6dfmxwSC2bNGuDDf4WxPxYhnEopRS5dvy5Tk1ByBdGZGR0rSfn1tvhRYt4IUXfG4MC5PJJBYsgLVrAxfbkiUyVabHw9y5MmPm5UFcVrFLF3mNhCXV4bLLAp9EnDoFn38ON9zAlJkRVKkCN90U2JdQRdOaCKWUCpS5c6WJwfkaPnu2lAREReX/8IgImTdi/nzJP3LceSdUqyYrdQVKQoIkKP36MWeOhFilSuA2n1eVKrJ8Rk5dxJIlga3zmD0b0tLIvvkWpk2T1p569QK3eeUfrYlQSqlAiY+XoRcNGrBzJ2zalH9Xhq977pFv7LlaI+rXl2aKDz+EtLTAxJaQALGxbEutTUpKcOshvDwe2LIFdrW7SloOli0L3ManTYP69VkUFceuXTrBlFv8XYArWmsilFKqECdPwqJFOWfn77+Xm4tKImrVkt6LmTNlOuwc48bJZBIffVT62E6ckJYAZ9VOCG49hJfHIz/nne4pvwSqSyM9Hb78Em68kakzqxAZCcOGBWbTqngKTSKMMbf5/N4rz30PBisopZQqdxYskCpKn3qIZs38W2L74YdlNsuXXvK5sVs3KSx4802pgiyN5GQp+nTqIZo3l6Wyg61DB2jQABKWRcs410AlEd99BydOkHnTrcyYAUOHBmeoqipaUS0Rj/j8/lqe++4KcCxKKVV+zZ0rEyT07k1Wlly98kr/lqM+7zwYNUoW8UxNdW40Rlb3XLeu9MtpJyRA1apkXdGL+HhphSiLCrewMKm9SEgA26evTH+dmVn6DU+bBg0bMs/2Z/9+HZXhpqKSCFPA7/ldV0qpyis+XmZvqlGDZctkXYyiujJ8Pfqo9IjkGtk5ciTUrl36AsuEBOjRgx9/qs7hw2VTD+Hl8cCuXbD1kmuke2bVqtJt8MQJ+PpruOkmps4IJzoarrkmIKGqEigqibAF/J7f9WIxxtQxxsw0xmwyxmw0xvQozfaUUso1qanw44+5Zqk0pngn6/bt5WT42mvS5Q9AjRowZowUTOzbV7LYDh+W6a596iECufR3Ubx1EQkZveWX0nZpfPstnDzJ6etv5dNPZd2yyMjSbVKVXFFJxKXGmDXGmLU+v3uvX1LK134F+J+19lKgM7CxlNtTSil3zJsndQs+9RCxsTLIojgee0wmq/x//8/nxrFj4cwZeLeECyfPny+xOfUQnTrJYqFl5aKLpDYkYWUduPDC0icR06ZB48bMTu/D0aPaleG2opKItsBQYIjP797rfpQL5c8YUwvoi7OcuLU2w1p7pKTbU0opV82dK5V9l1/OkSOwdGnxujK8+vWT5OM//4GsLOfGSy+Vr/NvveVzYzEkJECNGpzs0I0FC8q2KwOkRcbj8amLSE7OM893MRw/Lquc3nwzU6aFU79+2b8flVuhSYS1dkdhl1K87vnAAWCyMeZHY8w7xpgaeR9kjLnXGLPcGLP8wIEDpXg5pZQKovh4WbihShXi4+UcWZIkwhhpjdiyBb76yueOceNg505pyi+uhATo04cFP1QlI6Nshnbm5fFIC8v6C4bBoUOwfn3JNvT113DqFCeGjuDLL+Hmm2XCLuUefyebCrQqQBdggrX2MuAE8ETeB1lr37bWxlprYxs2bFjWMSqlVNG2b4eff85VDxEdLcthl8SNN0KbNnkmnxo2DJo2Lf56Gnv3yuIcTj2Ed3XNsuZdR6PUdRHTpkHTpnyV2pOTJ3WCqVDgVhKxG9htrV3qXJ+JJBVKKVW+xMfLz7g4rJUkIi6u5N+Qq1SBP/xB5q1atMi5MSIC7r1XNr51q/8bmzdPfjr1ED17Sq1mWWvVStYUS1hdTyapKEkSceyYzA8xfDhTp4dx3nnQu3fgY1XF41cSYYwZ4qzmGRDW2r3ALmOMtzgzDtgQqO0rpVSZiY+X9afbtWPzZul1KElXhq+77pJ1IHK1Rvz2tzLxwltvFS+2unXZf14Mq1a5Wz/g8cD8+Yas3v0kiSjuBFpffQWnT3Pk6pF8953MCh4eHpxYlf/8TQxGAFuMMf82xrQN0Gs/BHxsjFkDxAB/D9B2lVKqbFgrJ+q4ODCG2bPl5tImETVqSBnEF1/A5s3Ojc2awXXXyYxUp075t6GEBOjfn4REOdu6UQ/h5fHA0aPwY5sbpJvl55+Lt4Fp06B5cz77pRsZGToqI1T4u3bGbcBlwFakGHKxU/RY4olGrbWrnHqHTtba6621h0u6LaWUcsW6dbB/f656iAsvlJqG0nrwQalh+M9/fG4cN07mpJgxo+gNpKTIxamHqFMHunYtfVwlVaq6iCNHZOc6XRnnnx/cZcyV//zuorDWHgM+BaYCTYEbgJXGmIeCFJtSSoW2uXPlZ1wcp0/LlAylbYXwatwYRo+GDz7wmWfK45FFL/wpsHTqIewASSI8Hneb/xs3lgm1EtY1goYNi5dEfPklZGSwf+BviI+XVoiymLZbFc3fmohhxpjPgAQgAuhmrb0amSTq0SDGp5RSoSs+Xk7qLVqwcKFMWx2oJALgj3+UNb1ef925wbuexpIlMkNmUbE1acKWKm3ZtSs05lPweCA52ZDR21O8JGLaNGjZkpkpXcnK0q6MUOJvS8TNwEtO18ML1tr9ANbak+hCXEqpyujMGUhMzDVLZUTE2Wb7QLj4YimDePNNWTICkOaJqKjC19OwVuohPB7mxstXdjfrIbw8Hkm0fmhxkwyN3bmz6CcdPizrqt9yC1OmGtq3h44dgx6q8pO/ScQea22utNEY8y8Aa218wKNSSqlQ98MPMoOiTz1Ez55Qs2ZgX+axx2R+pvfec26oW1cmSPj4Y6lUzM+mTVK86NRDeIdYuq1fP2lMyamLSE4u+kmffw6ZmezqdxsLFmgrRKjxN4nIL4e9OpCBKKVUuTJ3rpwR+/dn715YvTqwXRlePXvK5b//9VlFe9w4+Uqfa5ENHwkJAGT29TBvXtkt/V2UunWhSxdI2NBEVidNTCz6SdOmQZs2TNvYCdAkItQUmkQYY+7PZ/GtNcaYFGBN2YSolFIhKD5ehjvUq5ezOmYwkgiQ1ojt2+HTT50bunaFbt2kSyO/+Rbi46F1a5antuHo0dCoh/DyeGDxEkN6Dz/qIlJTJVm75RamTjPExsroFxU6imqJ+ARZcOsLzi6+NRTo6gz7VEqpyuf4cVi8OFc9RMOGEBMTnJcbNkxWw3zhBZ+c4f77YePGc7/NZ2XJMJG4ON/BIyHD45Fi0UUtboGffip8ifNZsyAriy097mDFCm2FCEVFJRHWWrsdeABI87lgjKkX3NCUUipEJSdL38LAgWRnS93foEEyoWQwhIXJSI0VK3xyhltvlf6BvMM9V6+WYkSnHuKyy6BBg+DEVRK9e8vU3gkZziIehdVFTJ8OF17I1NUyx+Gtt5ZBgKpY/GmJAFgBLHd+rvC5rpRSlc/cuVCtGvTqxerVskJlsLoyvO64Q1o7cqbCjoqS+bE/+wz27Dn7QKce4ng3D4sXh8aoDF81a0pPTMKmplC9esFdGgcOQEICdriMyujTR5bdUKGlqKXAhzg/21hrz3d+ei/nl02ISikVYuLjoVcviIrKmeo62CfrqCh46CFZDTxnJe377pMWkXfeyR1b27YkbW7CmTOhVQ/h5fHAsuVhHLs8ruAk4tNPITubtV1Gs3GjrtgZqvxufDPGNDPG9DTG9PVeghmYUkqFpP37pcvAZ2hnp06yUnewjRsnX95ffNG54aKL4MorZVGuzEwpNkhOzqmHqFYtNFe69HikdCO5+UhYs0a6X/KaPh0uuYSpKy4iPBxuvrns41RF83fGyn8BC4GngMeci85UqZSqfJzuAuLiOH4cFi4MfleGV/360oPx8cfwyy/OjePGyZWvvoJly2RWKqceondvacEINT16SIKTcKa3VIouXJj7AXv3QmIidriMyhg4ULpyVOjxtyXieuASa+011tqhzmVYEONSSqnQFB8vcxx07cr8+TJxZVklEQCPPCLf4l991bnh2mulWGDCBElwjGHvpf1Zty706iG8IiOlNyhhUzNZZSxvl4bTlfFDuzGkpOiojFDmbxKxDVkzQymlKre5c2Vu6/BwZs+Wb/pl2WXQpo007U+cCMeOIUMd7rsP5syBv/8dOnRg7oq6QGjWQ3h5PLBqTRiplw08d5jq9OnQrh1TfzifqlXhhhvciVEVzd8k4iSwyhjzljHmVe8lmIEppVTI2bZNZn3yqYfo31+a5svSY49JAjFpknPDPffIlJSnTkF4OHPnQr16MrwzVHk88nN+s1EydvX4cbnh118hOZmsm29l2jS45hpp+FGhyd8k4kvgeWARuYd5KqVU5eEze1NKCmzZUrZdGV6xsZK8vPwynImMlqpOZxYqu2oVcz/YTdyRT4M2b0UgxMbKcM+EjN7SP7N4sdwxcyZYS/L5o9mzR7syQl0Vfx5krf0g2IEopVTIi4+HZs3gkkv4/m25yY0kAqQ14tprYeqru7h9yQMyu+OpU2yqFsMvp5sz6F/R7gTmp4gI6NsXEjY3k9m0kpKkiGP6dOjYkSmLWlGjBgwZ4nakqjBFrZ0x3fm5Ns/aGWuMMbp2hlKq8sjOliQiLg6MYfZsaNkSLrnEnXCuvhratYMX36mDja4lwzsjI5nrzAQ58KbQ7wPweGDT5nB+7XClJBG7d8PChZy5aQQzZ8p03zVquB2lKkxRjV2/d34OIffaGd6LUkpVDmvWyIJQAweSmSn5xJVXurc6pjHw6KMS1py1TWDsWFiyhDmt7uGCGnto08aduIrDWxcxr9ltsHQpfPQRAHPOG82hQzrBVHlQVBLxtfPzr9baHXkvwQ5OKaVChk89xNKlUtjoVleG129+I+UQL1R/Ft54gzPtOjM/tRMDbyuDma8CoHNnWf4j4UxvOH0annoK2rdnanIz6tSRJE2FtqJqIqoaY0YDPY0xN+a901o7KzhhKaVUiHGmk+a885g9Ubrx3V4ds1o1ePhheOIJ+PFHOHkS0tJCd36IvMLCZLRswnJnUYysLNKr1+ezz2SxrbIe9aKKr6iWiLHAFUAdzu3K0HIXpVTlkJEhffY+S3937y7fot12330yyuHFF6WxxBg5MZcXni9/z/ad4aTQGoBvlzXg+HEY8f+ucTcw5ZdCWyKstQuABcaY5dbad8soJqWUCi1LlsjX/IEDOXRIZpd+5hm3gxJ16sC998pwz2rVpIugXj23o/KfJ/7P0A8Swgdxd9YkpoaPolHEUfpvec/t0JQf/BpFbK1911l86zfGmDu8l2AHp5RSIWHuXGl779ePuXNlSga36yF8/f73ElN6unuFniV1aZ+GNKl+lISs/hyr1pCvs67mlgt/pErzJm6Hpvzg7wJcHwIvAr2By51LbBDjUkqp0BEfD5dfDnXqMHu2fPu//HK3gxJRUTLU1Jlrih9/lEQiFBfeyo8x4Km3moTq1/LF08s5RRQj6n3vdljKT/7OZxYL9LLWjrPWPuRcfhfMwJRSKiQcOybDD+PisFbqIeLiZMmKULBtm4zSiIyU61FRMGoUpKS4G1dxeJ7ry96Ttbnvby1p1gx6zPu72yEpP/mbRKwDtG1JKVX5JCbKtMwDB7Jxo6y6HUpdGU2bQq2zc01x+rRcb1KOjtje+SLS02XJ71Cerlvl5m8u3QDYYIz5ATjtvVGXA1dKVXjx8XJ27tGD2RPkplBKIgD27ZO5pu69F95+G/bscTsi/0VFybphXqtWSRdHZKQkFSq0+ZtEPBfMIJRSKmTNnQt9+kBkJLNnw6WXSg1CKJnlM2PPG2+4F0dJbNsmM29Onw6ZmVC9uiz9/eKLbkem/OHvAlyJRT9KKaUqmL17Yf16uP12Tp2Sno1773U7qIrF2x2TnS2tD6dOlb/umMqs0CTCGJMG2PzuAqy1tlZQolJKqVAQHy8/Bw4kOVlOcKHWlVERlOfumMquqMmmQnstWaVU5bJnD4wYAdOmlc1X1fh4mZYyJobZf4KqVaFfv+C/bGVTnrtjKjutgVVKlQ9nzsD//R8sWADjxwf/9ayVegiPB8LDmT1bSiN0aWqlzgqRkc5KqQqhuC0F1sLRo1J7sHevPD+/39euzf28CRPkEswS/p9/hl274P/+j19/hXXr4Pbbg/NSSpVXmkQopQLn+eelpeDZZ2VZ57zJQH7Xfcf3eVWtKklI06Zw/vmyIMSqVfDTT9IiAdCuHXz1VfDei3fp74ED+d6ZQFHrIZTKTZMIpVTp5R3s//bbcsmrQQNJDpo0gd69JUnwXvcmDU2ayLzSeReBuP9+2LBBVpk6fVp+HzgQJk6EK68M/HuKj4cWLeDCC5n9jITVqVPgX0ap8kyTCKVU6W3bJuX1X34p1yMi4LLL4MEHoW1bOQM3aiQtDCWVt4R/7Vq57aqrZJ7n//5XXiMQsrIgIQGuv56sbMOcOXDtteVvcSulgk2TCKVU6TVtKl0TIC0FZ85A166BLSLIr4T/1Cn4xz/k8t13MkPRmDGlP9uvWgWHD8PAgfz4I6SmBqexQ6nyTkdnKKUCY+NGaXFYulRaDLxJRTBFRsJf/iIn/Xbt4K67ZDTF5s2l2663HsLjYfZs+XXQoNJtUqmKSJMIpVTprVsHaWlSTNm5s7QU+LYcBFu7djKd5Ntvy1rYnTpJkWdGRsm2Fx8PHTpAkybMng1dugSup0SpikSTCKVU6U2ZAuHhMHy4ezGEhcFvfwubNsH118Mzz0BMjIwWKY5TpyA5GeLiOHYMFi/WURlKFUSTCKVU6VgrScTAgaHxdb1JE5g6Fb75Bk6elBmi7rsPjhzx7/mLFkkiMXAg8+bJolBaD6FU/lxNIowx4caYH40xX7sZh1KqFJYuhZQUGDnS7Uhyu+YaWTzrj3+Ed96RUSLTp0vSU5j4eGlV6duX2bOhZk3o2bNsQlaqvHG7JeJhYKPLMSilSmPKFBmRccMNbkdyrho1ZMTGsmXQrBnceisMHQo7dhT8nLlzoXt3qFWL2bNhwIDSjUxVqiJzLYkwxjQHrgXecSsGpVQpZWbKFNdDhsj6zaGqSxdYskTmkpg/Xwox//tfid/XkSOwfDnExbF1q0x/oV0ZShXMzZaIl4HHgeyCHmCMudcYs9wYs/zAgQNlFphSyk/z58uET6HWlZGfKlXgD3+QLo4BA6Sbo3t3WLny7GPmz4fsbBg4MGdopxZVKlUwV5IIY8wQYL+1dkVhj7PWvm2tjbXWxjZs2LCMolNK+W3KFIiOlvqDMrBnjyzFXaopKFq1kjU3pk+HX3+Fyy+XhOL4cZlxMywMWrdm9mxo0wYuvDBg4StV4bjVEtELGGaM2Q5MBTzGmI9cikUpVRKnT8Onn0otRFRUmbzks88GaCVwY2Q46saNMiz0v/+F9u2layY7m4y/vUBCgrRC6FTXShXM2KIqlYMdgDH9gUettUMKe1xsbKxdvnx5mcSklPLD559LAvG//wWtzd9aWWcrJubc8gUI4Erg1arlmpgqiT70I4lZEbdyQ8a0ALyAUsVnjFlhrY11O47CuD06QylVXk2ZAg0bQlxcQDd7+jR8/z387ndwwQUycWRmJtStK2UNXhERcOedhQ+08Nv27TBiRM4wjNlVhhBusvCsezUAG1eq4nI9ibDWzi+qFUIpFWLS0qSuYPjw3Gf2Etq3DyZPhhtvhPr1pWFj0iTpYXjrLdi1S0ZnZmdL64Mx0LKlzHJ9/vlw000yyWSJG1abNpXlxzMzITKS2ZkeejROofbFjUv93pSqyFxPIpRS5dAXX0g/wm9+U6KnWytrZj3/vAyQaNJE1s5atkwW/vz6a1k586uvZOXv5s3PrgS+ZAncf78sj5GSAo8/LoMq+vaVhUM/+EBaM4rNeYED3y5jJV24qu4PJXpvSlUmrtdE+EtrIpQKIddeK4tupaTIaAY/pKfLZJBffy2XX36RFoVu3WSaiSFDZO2ukhQynjwJH30Er7wiNRSNGkmiMXasJCjFMWWK5EZLl0psSrlFayKUUhXPwYNStDBixDkJRN4hmLt3S3fE0KHSTTF0KHz8sbQ+TJ4sj1+yRBb/jIkp+UiI6tWlxWLdOpgzR0Zt/uUv0uUxenTuqSCKMns21KsnrRpKqcKVvjNTKVW5zJwptQP5dGWMHy+1CUOGSP3Cjz/K7W3ayEjKIUOk26FateCEZoysAzZwIGzZAq+9JsnK//t/0Ls3/P73cN11BZdxWCv50aBBsnyGUqpw2p2hlCqefv3gwAGZ+dFpOoiKkoUv86pSBVavlrWv3Jpv4ehReO89SShSUqR14sEH4Z57ZMSHr7Vrpdbivfdk5IdSbtLuDKVUxbJrlzQ1jByZKyvIu8ZEVBSMGiUPb9fO3QmbateW2a63bJGpLc4/X4oxmzeHceNg06azj50xQ3527uxKqEqVO5pEKKX8N22atPnnWSujaVPYuVN+j4yU0RG1ahW/qDGYwsOlK2PePBkZMmKEtDi0bQuDB8N338l1kJXDlVJF0+4MpZT/unaVs/EPuYc/pqVJ18BFF8HUqTJ/w549MGuWS3H66cABKfx8+un87w/YjJhKlYB2ZyilKo7Nm2WYQz4rdk6dCllZUsTYuTO88UboJxAgE24+9ZRMWNmz59liyurVpTsmJcXV8JQKeZpEKKX8M2WKFDfceus5d73zjkxP3b27C3EFQKtWUlBprbQ+nDoVet0xSoUiTSKUUkWzFj75BPr3h/POy3XXmjXSu3HPPeV7xUvfGTHHji3lcuNKVRI6T4RSqmg//ijdGY8+es5dkybJvA+33+5CXAHk2/3yxhvuxaFUeaItEUqpok2ZIstm3nRTrpvT02W66RtvlFkelVKViyYRSqnCZWdL5eTgwedkCp9+CkeOyGyUSqnKR5MIpVThFiyQRTDyGZUxaRJceKGUSiilKh9NIpRShZsyRcY8DhuW6+bNmyEpCe6+u3wXVCqlSk6TCKVUwc6ckbmghw2DGjVy3fXOOzKvwpgx7oSmlHKfJhFKqYLNmQOpqees2JmRAR98IEt761wKSlVemkQopQo2ZYrMZ33VVblu/uor2L9fCyqVquw0iVBK5e/kSVn28qaboGrVXHdNmiSrYObJLZRSlYwmEUqp/H39NRw/fk5Xxo4d8P33cNddZ9eaUEpVTppEKKXyN2WKrPHdt2+um73LZd91lwsxKaVCiiYRSqlzHTkC334ri235NDdkZUkSceWVsmiVUqpy0yRCKXWuWbNkCEaerozZs2XeKS2oVEqBJhFKqfxMmQIXXACxsblunjQJGjWSoZ1KKaVJhFIqt717ISFBprn2mYpy714Z2jl69DmDNZRSlZQmEUqp3KZPl0W38qyV8f77UhNxzz3uhKWUCj2aRCilcpsyBTp3hnbtcm7KzpZprvv2hYsvdjE2pVRI0SRCKXVWSgosWXJOK0RiImzdqgWVSqncNIlQSp01dar8HDEi182TJkGdOjJ5pVJKeWkSoVQo2bMH+vWTKkY3fPIJ9OqVaxKI1FT49FO47TaIinInLKVUaNIkQqlQ8vzzsGABjB9f9q+9bp1c8nRlfPSRTBmhXRlKqbw0iVAqFERFyXDKCROkinHCBLlell/9p0yR2SmHD8+5yVrpyrj8cujUqexCUUqVD5pEKBUKtm2Dm28+Oy9DRITMFpmSUjavb60kEQMHymxSjqVLYf16bYVQSuVPkwilQkGjRnLGthbCwuDMGVi1CurXL5vXX7pUEpY8XRmTJkGNGufUWSqlFKBJhFKh4YknYNcumYhh2TKIiYENG2DwYDh0KPivP2UKVKsGN9yQc9OxYzJYY8QIiI4OfghKqfJHkwil3PbBB/DiizBunEzI0KUL/PijTBG5YAF07w4//RS818/MhGnT4NproVatnJunToWTJ7UrQylVME0ilHLTkiVw770wYAC8/HLu+0aPljUsjh6VROL774MTw/z5sG/fOSt2TpoEHTpAt27BeVmlVPmnSYRSbtm9G66/Hpo3hxkzpJgyr169pHujZUu45hp4/XWpmwikKVOkv+Kaa3JuWrUKli+XVgifNbiUUioXTSKUcsPJk3DddfLzyy8LL6Bs1QoWLpTuhocekm6PM2cCE8fp0zKT1A035BpO+s47UiJx222BeRmlVMWkSYRSZc1auOsuqXv4+GNo377o50RHw6xZ8Kc/wcSJgSu4/O476S7x6co4eVImmLrpJqhXr/QvoZSquDSJUKqs/f3vUsj497/D0KH+Py88HP75TynE9BZcbtpUulimTIGGDSEuLuemTz+VvEILKpVSRXEliTDGtDDGzDPGbDTGrDfGPOxGHEqVuc8/h6eeglGjpFWhJO64A+bNkzP9FVeUvOAyLQ2++kpmqKxSJefmSZPgwgtlCQ+llCqMWy0RmcAfrbVtgSuAB4wx7VyKRamysWaNFBlcfrmcqUtTsdizZ+kLLr/4AtLTc3Vl/PQTJCfDPfdoQaVSqmiuJBHW2j3W2pXO72nARqCZG7EoVSYOHIBhw2Qehs8/D8yaGKUtuJwyRZKQHj1ybnrnHWmUGD269OEppSo+12sijDGtgcuApS6HolRwZGTIuhh790oCcd55gdt2dDR89lnxCy4PHpRukBEjZJptJ8wPPpAyjSZNAheiUqricjWJMMbUBD4Ffm+tPZbP/fcaY5YbY5YfOHCg7ANUqrSslVaCpCR4773gzNwUFlb8gsuZM2WmSp+1Mr78UhpMtKBSKeUv15IIY0wEkkB8bK2dld9jrLVvW2tjrbWxDRs2LNsAlQqEN9+Et9+WtTHyzAgZcMUpuJwyBdq2hc6dc26aNAlatIArrwxumEqpisOt0RkGeBfYaK39rxsxKBV08fHw8MMwZAj89a9l85regstWrQouuNy9W6onR47MqZ7cvh3mzJHpK8LDyyZUpVT551ZLRC/gdsBjjFnlXK4p6klKlRs//yxDJy+9VCaUKsszc1EFl9OmSWLh05Xx3nvy8667yi5MpVT5Z2yg5+EPktjYWLt8+XK3w1CqaMeOSXfCvn3SKnD++e7EkZ0NTz4J//oXeDyyPsfp03DxxTIRxI8/AlIa0bo1dOwoE1gqpUKDMWaFtTbW7TgKU6Xohyil/JaVJbUPmzdL/4BbCQScLbhs106qJbt3l+Th+HGoXj3nYbNnwy+/wKuvuheqUqp8cn2Ip1IVypNPwjffyBl5wAC3oxF33CE/f/4Z/vc/+X3RIqmHiIpi0iRo1EhKN5RSqjg0iVAqUD76CP79bxg7VuoQQsn27TLZlXcayurVYdQo9izZwddfw5gxULWqmwEqpcoj7c5QKhCWLpW5ovv3D81+gaZNZZIrY2SN71OnoFYt3v+2EVlZErpSShWXtkQoVVq//AI33CAn6RkzICKixJvas0cWvtq7N4Dxee3bJ60kS5bA2LFk79nHO+/I6110URBeTylV4WlLhFKlkZ4O118vK2J+/z00aFCqzT3/vEw6OX68zFMVULN85nR74w3mJ8C2OHktpZQqCW2JUKqkrIW774YVK2QuiA4dSrypqCjpaZgwQUZmTpiQU/cYNJMmQZ06cOONwXsNpVTFpkmEUiX1z3/K9NF/+5sULZbCtm0yAjOvrl3htddg165Sbf4cBw9Kw8Tttwc3UVFKVWyaRChVHN6ihQ8+gD//WWZ9fOKJUm82MVFqMwEiI6UVoksXOHwYfvc7WbE7NlbylfXrz53Jurg++khW7dSCSqVUaWgSoVRxPP+8rDtxzz3STPDuu2eHTZbQV19Ji0D9+jIn1JIlcP/9Mnv1+vXw008y6WREBDz1lPSaXHIJPP44LF4s3R/FYa10ZXTrBp06lSp0pVQlp9NeK+WPqCgZFplXZKQUV5ZQfLwscdGpE8ydC7VqFf74PXvgiy/g888hIUGWxGjSBK67Tuo7PZ6i53tYvFjW6Zo0SVsilApl5WHaa22JUKoox47BP/4BjRufva1aNRg1ClJSSrzZhQullOLii2UiyaISCJDpHsaOlcfv3w+ffAJ9+khd59VXQ8OG0sMyfboMGMnPpElQowbcemuJQ1dKKUCHeCqVvzNnZFGJjz6Sr/6nTkF0tHRdVK0q99eqJc0AJbBypazU3ayZLLFRr17xt1GnjiQMI0dKePHx0kLxxRcwdaqEOXCgtFAMGyY50ObNUs4xYoS8HaWUKg1tiVDKy1qpbnzoIZk4auhQ6WO4+27pAxg4UIoVli6V5oASzgi1YQNceSXUrSsnft8GjpKKjJRukUmTpMsjORkefBA2boR775UWjN69JXHJzs6/Z0YppYpLayKU+vln6Q/46CP5PTJSvrrfdhtcdVVAF5XYulW6H6yVE/2FFwZs0/myFtaulRrQzMxz7y9lSYdSKoi0JkKpUHXwoEwJ2aOHzPn8l7/IOMr33pMWhmnTpCUigAnErl0QFydDK+fODX4CAdL70qkT7NwpK5RHRsrtzvpbpSnpUEoprYlQlUh6uoyn/Ogj+O47+WreoYOMnxw5Elq0CNpL79snvSGHD8uoivbtg/ZS+WraVEo4MjIkkXDW3yppSYdSSgHaEqEqmrwrWGVnw7x5cNddUnxw660yTfUf/gCrV0tb/+OPBzWBOHQIBg2C3bvh22+la8ENedbfCs4iX0qpSkVbIlTF4l3B6uGHoXVrGQO5e7cMRbjpJqlz6N8fwsPLJJy0NBl6+dNP8M030KtXmbxsvvKsv6WUUqWmSYSqGPJOBjV9uvwMC5PxjkOHSiFAGTp5EoYMkYaPWbOkO0MppSoS7c5QFcPMmbmX4Y6IkJaHX36RLowyTiBOn5aXT06GDz8s9fpcSikVkjSJUOXbzp0yzGDIEDhxQoYjREZCVhY0auRK5WBmpoyE+N//ZN6GkSPLPASllCoT2p2hyqdjx2Qp7pdekutPPSWFki1ayOxKb78tRZZlLDtbajhnzYKXX5Z5qpRSqqLSJEKVL5mZMpfD00/L4hG33QZ///u5oytcqBy0Fh54QLovnn9eajuVUqoi0yRClR/ffw9//COsWyfTPn79NVx+udtRAZJA/OlPMHGi/Pzzn92OSCmlgk9rIlTo27BBFn246ioZ8vDpp5CYGDIJBMBf/wovvCAtEf/4h5RmKKVURadJhApd+/fDuHEyb/OiRfCf/0hCceONIXWWfukleOYZGD0aXn01pEJTSqmg0u4MFXpOnZKz8d/+JiMuxo2Ts7TvEM4Q8fbb8MgjcPPN8M47Mi2FUkpVFppEqNBhLcyYIUUF27fLBFH//jdceqnbkeXr449l+uhrrpHfq+h/k1KqktHvTSo0LFkic0LfeivUri3LXH75ZcglEN6lOSZPlu6Lfv1knqsALvaplFLlhiYRquz5LpK1Y4fMzNSjh6xL/e67Mk90XJzbUebr+edlFsp77oHYWMlzoqLcjkoppdyhDbCq7HkXybrmGimUDAuTeR8efxxq1nQ7unzlXZrDWli6VCbFTE93Ly6llHKTtkSoshMVJUMXJkyQqR1//FEWmcjOhvHjQzaBOH4cnngi9/IbUVEy23ZKintxKaWU2zSJUMFlrSQL//gHdO6c+75q1eRMvH27K6EV5eBBePZZaNUKnntOSjW8S3OcPg21armyNIdSSoUMTSJU4B0+LEtx33knnHcedOkCTz4JGRlw2WVnz8RnzoTkmXjHDvjd76BlS2kg6dNHpqm44gq4/36pAR07Vko6lFKqMtOaCFV62dmwahV8951cliyRVTTr1IErr4Srr4bBgyVZuPFGKaJ0cZGsgqxdC//6F0ydKmUat90Gjz0GbdvK/bNmnX2sC0tzKKVUyDHWWrdj8EtsbKxdvny522Eor8OHZS2L776TNa/37ZPbu3aVpOHqq6Fbt5CfPMFaqfH85z/h22+hRg247z74wx+geXO3o1NKVWbGmBXW2li34yhMaB/hlTv27IERI2DatLNdDd5CSN/WhuxsqFfvbGvDVVdB48buxu6n7Gz46itpeVi8GBo2lEEj48bJW1JKKVU0TSLUubxDMJ98EgYNkqRh9mxZywJkgoQ///lsa0N4uLvxFkNGBnzyiUyEuXEjtG4Nr78u5Ru+oy+UUkoVTZMIJV/L9+6FNm0gI4M9NGEECUybfCtNJk+Wx4wceba1oVGjUr1cfg0dwZaWBpMmyWJZu3fLml6ffALDh4d8j4tSSoUsPXyWQ3tW7WNE/z1MSzqPJp38PKEfOSKTGqSkwLZtZ3/3Xk6fxgInqMH/8XcW0Jun+BtvDPqcqu9NxDRvFrD4vQ0d48fDm28GbLPAuQnKgQOyltcbb0gZR//+kkxcdZWutqmUUqWlhZXl0LgOiby1vjf3tlvASyv6kZYGaQdPk7Z5D2lb9pK2PZW0nYdJ++UYaftPknYwg7RTVUgj+uylSl3SqtYnLawOadQkLTOKtFMRQP5n1qpV5VKtWtGXgh738suQmXnutiMipKixenUpbKxePfelalX/T/jjxsFbb0nDSZ06Mov26dNw/fWyrlf37iXc6UopVcbKQ2GlJhFBUNyWgsxM+ZZ86BCkpvr8PJjNoT2nSd17hkMHspjxfS2yKVn9QWSVM0RXzyI62hBdN5zoOlWIjibXBWD+5K2sT2vFmewqRIRl0q7mLuLuaUPVqnIy9veSkXHubadOyWiI4goLOzexyJtwfP65jCrNKzwc1q0LuXW8lFKqSOUhiXCtO8MYMxh4BQgH3rHW/rOsXrtE3QFFsFbWUDh6FB4ZvpPko125a8h6Rj5di9Td6Rzal8Gh/VmkHszm0OEwUo+Gc+h4VQ6diORoRkErOIURRlXqcZx6HCKGreylCftoQhZVqMIZ2odv4pa262h2URTRzesQ3aYB0Rc0kp+1w4iOltmkIyIigIgi38f9py5gzdsyF1RGRhV6jmrDf/4TkF0EyPDJd96R1oeMDFm089FH4eTJ/C8nThR838mTMqvkyZPQtKl0XZw+La9TpYqsJP7mmyE3l5VSSlUYriQRxphw4A1gELAbWGaM+dJau6EsXv/52zax4Ghvxo9I5s2FEdgTJzmZms7RAxkcPZjB0YOZHD2UxdHD2Rw9Yjl6FI6mGY4eD+fo8SocPRnB0fSqHD1VjaMZkgQcy6zOGes9SV8OwHe7OvLdvQCRGLKpy2Hqk0o9DtGIQ7QllXoRx6lf6yT1amZQr1Ym9etkUa8e1G8UTr3GEdRqFElY/brSNl+nDvfftZ63tzUlknQyqErPSw/x5NqRAds3+/bJbIzBmgvqwIFzt9+1a2C2ff/9ss2qVSVBadJEEwillAomV7ozjDE9gOestVc51/8PwFr7j4KeE4jujCiTziny+9ZvKagWwMuQTS2OUZuj1A47Tu3w49SOOEHtiHRqV0unduRpDJY5ezqw5kxbMqhGNU5xVa0l/PO+FC6Jjc6VDFC3rkz5XMyhATeet5im9TK495kmvD1+L3sOVWXWrz2KtY2K6sYbpUXCN0HxnWVSKaXKE+3OKFgzYJfP9d3AOSVvxph7gXsBWrZsWeoX3fbjMR69fiXTd3QjkwjCyeT8ar8wuOtBmrUw1K5tqF03TC71q1C7QQS1G1alduNIajaIJKxGDYioU+hrHG6fxMoNVXJaCpq1MLT9952ljt3LN2F445ZLArbdikCnpVZKqbLlVhKR39f+c5pErLVvA2+DtESU9kWbxjSmVo2fyCYs5yQ/8MLtvLqwX2k3nWPf4QjGtl+Qq6VAKaWUqojcSiJ2Ay18rjcHfi2LFw72SV5bCpRSSlUWbiURy4CLjDFtgF+AEcBvyuKF9SSvlFJKBYYrSYS1NtMY8yAwGxni+Z61dr0bsSillFKqZFybJ8Ja+y3wrVuvr5RSSqnSCXM7AKWUUkqVT5pEKKWUUqpENIlQSimlVIloEqGUUkqpEtEkQimllFIlokmEUkoppUpEkwillFJKlYgmEUoppZQqEU0ilFJKKVUixtpSL45ZJowxB4AdbscRQhoAB90OopLSfe8u3f/u0X1ftlpZaxu6HURhyk0SoXIzxiy31sa6HUdlpPveXbr/3aP7XuWl3RlKKaWUKhFNIpRSSilVIppElF9vux1AJab73l26/92j+17lojURSimllCoRbYlQSimlVIloEhHCjDGDjTE/GWN+NsY8kc/9o4wxa5zLImNMZzfirKiK2v8+j7vcGJNljLm5LOOryPzZ98aY/saYVcaY9caYxLKOsSLz49hT2xjzlTFmtbP/73QjTuU+7c4IUcaYcGAzMAjYDSwDRlprN/g8piew0Vp72BhzNfCctba7KwFXMP7sf5/HzQFOAe9Za2eWdawVjZ+f/TrAImCwtXanMaaRtXa/G/FWNH7u/yeB2tbaPxljGgI/AU2stRluxKzcoy0Roasb8LO1dpvzjzkVuM73AdbaRdbaw87VJUDzMo6xIity/zseAj4F9AQWOP7s+98As6y1OwE0gQgof/a/BaKNMQaoCRwCMss2TBUKNIkIXc2AXT7Xdzu3FeRu4LugRlS5FLn/jTHNgBuAiWUYV2Xgz2f/YqCuMWa+MWaFMeaOMouu4vNn/78OtAV+BdYCD1trs8smPBVKqrgdgCqQyee2fPuejDEDkCSid1Ajqlz82f8vA3+y1mbJFzIVIP7s+ypAVyAOiAIWG2OWWGs3Bzu4SsCf/X8VsArwABcAc4wxydbaY0GOTYUYTSJC126ghc/15kjWn4sxphPwDnC1tTa1jGKrDPzZ/7HAVCeBaABcY4zJtNZ+XiYRVlz+7PvdwEFr7QnghDEmCeiM9OWr0vFn/98J/NNKUd3PxpgU4FLgh7IJUYUK7c4IXcuAi4wxbYwxVYERwJe+DzDGtARmAbfrN7CAK3L/W2vbWGtbW2tbAzOBcZpABESR+x74AuhjjKlijKkOdAc2lnGcFZU/+38n0gqEMaYxcAmwrUyjVCFBWyJClLU20xjzIDAbCEcq/9cbY8Y6908EngHqA28634YzdXGcwPBz/6sg8GffW2s3GmP+B6wBsoF3rLXr3Iu64vDzs/888L4xZi3S/fEna62u7lkJ6RBPpZRSSpWIdmcopZRSqkQ0iVBKKaVUiWgSoZRSSqkS0SRCKaWUUiWiSYRSSimlSkSTCKVUvowxrY0xOmxSKVUgTSKUUkopVSKaRCilChNujJlkjFlvjPneGBPldkBKqdChSYRSqjAXAW9Ya9sDR4Cb3A1HKRVKNIlQShUmxVq7yvl9BdDavVCUUqFGkwilVGFO+/yeha63o5TyoUmEUkoppUpEkwillFJKlYiu4qmUUkqpEtGWCKWUUkqViCYRSimllCoRTSKUUkopVSKaRCillFKqRDSJUEoppVSJaBKhlFJKqRLRJEIppZRSJaJJhFJKKaVK5P8DKR2yJlYb7YoAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(8,6))\n",
    "plt.plot(seps,Runge_Kutta_Infty_errors, marker='*',c='red')\n",
    "plt.plot(seps,Adams_pc_Infty_errors, marker='*',c='blue')\n",
    "Runge_Kutta_Infty_errors_match=mpatches.Patch(color='red', label='Runge_Kutta_Infty_errors')\n",
    "Adams_pc_Infty_errors_match=mpatches.Patch(color='blue', label='Adams_pc_Infty_errors')\n",
    "plt.xlabel('h')\n",
    "plt.ylabel('Infinity Error')\n",
    "plt.title('Infinity errors of 4-th Runge-Kutta methods vs Adams_pc in range {}-{} with different h'.format(x_min,x_max))\n",
    "plt.legend(handles=[Runge_Kutta_Infty_errors_match,Adams_pc_Infty_errors_match],loc='best')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fd9ae68a",
   "metadata": {},
   "source": [
    "## Miline_Hamming_pc 预测-校正系统"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "75526db4",
   "metadata": {},
   "outputs": [],
   "source": [
    "f_n=[]\n",
    "Miline_Hamming_pc=[]\n",
    "for i in range(len(x)):\n",
    "    if x[i]==initial_x:\n",
    "        f_n=[F(initial_x,initial_y)]\n",
    "        Miline_Hamming_pc.append(initial_y)\n",
    "    else:\n",
    "        if i<4:\n",
    "            yn=Runge_Kutta_4(x[i-1],Miline_Hamming_pc[i-1],h,F)\n",
    "            Miline_Hamming_pc.append(yn)\n",
    "            f_n.append(F(x[i],yn))\n",
    "        else:\n",
    "            p_=Miline_Hamming_pc[i-4]+4*h/3*(2*f_n[i-1]-f_n[i-2]+2*f_n[i-3])\n",
    "            f_n_=F(x[i],p_)\n",
    "            c_=1/8*(9*Miline_Hamming_pc[i-1]-Miline_Hamming_pc[i-3])+3*h/8*(f_n_+2*f_n[i-1]-f_n[i-2])\n",
    "            Miline_Hamming_pc.append(c_)\n",
    "            f_n.append(F(x[i],c_))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "b20bf04a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgQAAAGDCAYAAABUXwhrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABbJElEQVR4nO3deXwURd7H8U8R7kNUQEBAg66ikouQA+SWU2RRYBHQFREVLwRxZUF9RGRXHzxWUVfFXVdQFxEVERV8UFREFIQEwo0KgoKyGHC5CeSo54/ujJMwk5mESWaSfN+vV16Znu6uru7pmfp1VXWXsdYiIiIilVuVcGdAREREwk8BgYiIiCggEBEREQUEIiIiggICERERQQGBiIiIoICg1BhjrjXGfBTufOQzxtQyxrxvjDlgjHkriOW7GmN2eU1vNMZ0dV8bY8wMY8x/jTEr3fduM8bsMcYcNsY0KK39qIi8j+0ppDHZGPPvYixvjTG/O8VtnuN+3lElXL+TMeabU8lDOBT+bpxiWtHuZ1G1mOvdZ4x5KRR5kIICnZfF/cyMMTONMX8NXQ5LT8QHBMaYa4wxae4Pz25jzIfGmI7hzlcg1tpZ1tpe4c6Hlz8AjYEG1trBxV3ZWtvaWrvEnewI9ASaW2tTjDHVgCeBXtbautbafaHKdDCMMTuMMT3KcpuhVOjYlhvW2h/dzzu3hOt/Ya1tFep8hVoogqdQs9Y+Yq29Kdz5CDX3YuNRY8w+9+8xY4wpYvnJxphst3zI/zvvVPJQ+LyMlN8XNxD5zBhz1Bizpag8GWO6ucseMMbsCHYbER0QGGPuBqYBj+AUZucAzwNXhjFbARU32i8j5wLfWmtzQpTWDmvtEXe6MVAT2FiSxEp6hVneReh5UiYq875Hmgj7/o0CrgLigTigH3BLgHXmuIFp/t/3pZzHcJkNrAEaAPcDbxtjGvlZ9gjwMjC+WFuw1kbkH1AfOAwMLmKZGjgBw8/u3zSghjuvK7AL+DPwC7Ab50TrC3wL/Arc55XWZOBtYA5wCFgNxHvNnwhsc+dtAgZ4zRsBfAk85ab7V/e9Ze584877BTgArANivPbzVSAT+AH4H6CKV7rLgCeA/wLbgcuLOB4XA0uA/TiFc3/3/YeAE0C2e0xv9LFuLWCmu51NOCfSLq/5O4AewI1AFpDrpjUb5+Sz7vSn7vIXAR+7x+Mb4GqvtGYCLwAL3XV7AGcDc93jsB0YU+izedM9TofcfUty570G5AHH3O3/2ce+5Z8Lf/I6F27wmr8EuKnQ57nMa9oCtwPfudv/C3A+sBw46Oatutfy/YAM93P4CogrdBwnuOfAcaBq/rF150cB9/HbuZYOtHDnPQ3sdLeZDnQqdIz+XcS5Md7d75+Bke4+/c7re/QE8COwB5gO1HLnbQb6eaVTFdgLJALRbjpV3Xk3uMsfAr4HbvHxGUwA/uN+bl0peI75PH+9zpnngAVu+l8D5/vZ1/x83eAer/8CtwLJ7nHfD/y90Doj3bz/F1gEnOu+v9RN6wjO+TWEwOdTUd/pKPdY73WP0R2FjuEI9/1DON+Da/3so+fz9trf693PcC9wfxHnwkxO/v5dgVPYHHSP2WQfx9Nn+ji/Ha+4x24zzm+u9+fq97vtI29fAaO8pm8EVhSxvOc4BFGmvAL8yX3dzN2n293p3+H8Vhm8zkt8/L6U8HgHde4WkcaFOL8X9bze+wK4NcB6PXAu3oLbTnEyVZZ/QB8gJ/+L4meZKcAK4CygkXsy/cWd19VdfxJQDbjZPSFfB+oBrXEKtvO8TqxsnKr1asA97slbzZ0/2D2xq+D8KBwBmnp9iXOAO3F+MGtRMCDojfMDfrp7wl3ste6rwHw3T9E4wcqNXulmu3mPAm7D+UE3Po5FNWArTmFSHbjMPflaBfPFAaa6J9iZQAtgAz4CAq98eReY+V+Q/B+1Ojg/Kje4xyMR50vT2usLcgDo4B7P2u7xmeTm/TycH8XeXnnPwgnmooD/xetHwjtvfvatq/v5THGPU1/gKHCGO38JgQOC94DTcM6b48Anbj7r4wRQ17vLJuIUEqluXq9381fDK68Z7jGu5ePYjgfWA61wzpV4nGYegD/iXB1UxSmM/gPUDPT54nyX9gAx7mfzOgUDgmnu/p2Jcx6+D/yvO28SMMsrrSuALX4+9ytwAiUDdHGPcWKhz+BRnACkFgV/eAOdvzNxfrBT3P2fBbzhZ3/z8zUdp+aqF8758y7Ob0Uz9zPq4i5/lbvti920/wf4qtDn/7tinE9FfadvBbbgfP5nAp/lH0P3sznotc9Ncb8zPvbR83l77e8/3eMaj3OOXuxn3ZkU/P7VdPcp1p2OwzlfrgomfZzfjs+BM4DmOEFX/udahSK+2z7ydgBI9ZpOAg4V8d2e7K7zK04QeVsRy44E3ndfX4MTdM/xmjff6/P1+dt3Csfb77nLb0Gqr7/n3WUGAJsLpft34Fl/++suU2ECgmuB/wRYZhvQ12u6d/7Oux/qMSDKna7nfojeJ1u610k/mYKFTBWcyL+Tn21nAFe6r0cAPxaaP4LfAoLLcH4U2uFeKbjvR7kn0iVe790CLPFKY6vXvNruPjTxkZ9OOAWEd/qzcSN9AgcE3wN9vKZH+ftSEDggGAJ8USj9F4EHvb4gr3rNS/Vx/O4FZnjlfbHXvEuAY77y5mff8s+Fql7v/QK0c18vIXBA0KHQeTPBa/pvwDT39Qu4QanX/G/4rfDZAYwsNN/72H6Tf14F8R35L24tVlGfL07V4VSv6QvdffodTuF9BK8rFqA9sN19/Tucgrm2Oz0LmOTrc/ex3XeBsV6fwQncAMbrvfyCI9D5OxN4yWteX9zAxMd28/PVzOu9fcAQr+m5wF3u6w/xqjXD+e4f5bdaAl8Bgc/zicDf6U/xuqrDCVa8A4L9wCDcYLGIz97zeXvtb3Ov+SuBoX7WnYnX98/PMtOAp4JJn0IFPHCT1+da5Hfbx3ZzgYu8pi9wt33SRZA7/xKcC7Uo4FKc3+xhfpY93z2+VXCCxVu88vkKcHfh87Lw9/MUjndQ524Rn8d1FKopAR4GZgZYr1gBQST3IdgHNAzQ1ng2TpVcvh/c9zxp2N86PB1z/+/xmn8MqOs1vTP/hbU2D6da8GwAY8xwY0yGMWa/MWY/ztVWQ1/rFmat/RQnmnsO2GOM+Ycx5jR3/eo+9qGZ1/R/vNI56r70znO+s4Gdbr79pVWUswvtww/+FgzCuUBq/rFyj9e1QBOvZXYWWv7sQsvfh9M3Id9/vF4fBWoWsx16ny3Yf+Iovo+jP4XPG3/n0bnAnwrtSwsKnpd+zxV32W2+Zhhj/mSM2ex2FNqPUzvR0NeyhRT12TbCraHxyu//ue9jrd2KUw38e2NMbaA/Tg2Dr/xdboxZYYz51U2nb6H8ZVprs4rKY4Dzt/A5EOjzK85n9rTX/udXHRf13fF3PgX6Tvv9LKzTJ2cITi3CbmPMAmPMRUXtYCHFOT4FzkFjTKrbCS3TGHPAzUPhc8tf+oX3qbjfbW+HcWri8p0GHLbWWvfOivyOg9MBrLWbrLU/W2tzrbVf4TSr/cFXwtbabW76CTgB6AfAz8aYVjg1Wp/7yZM/xTnexT13Cyt8XHCnDxUznSJFckCwHKea76oilvkZ54TLd477Xkm1yH9hjKmCU/31szHmXJzqodE41ben41Spe/d+tUUlbK19xlrbFqfK+UKcquG9OE0ChffhpxLk/WeghZvvkqS1G6/9d9ctqZ3A59ba073+6lprb/NaxhZafnuh5etZa/sGub0ij30QjuAUivma+FswCDuBhwvtS21r7WyvZYrK706cK5kCjDGdcNrfr8apmj4dp6rUbw9sL0V9tntxCsfWXvmtb631/sGaDQzD6cy7yQ0SCuevBs5V9xNAYzd/Cwn+O3Kq5++p2InT38H7M6vlFjDFFeg7XeT3zFq7yFrbE6e5YAvO705pKPxZvI7TbNTCWlsf5wo6mHMLnH1q7jXtvX/F/W5vxKmCzxfvvod17qzI7zh4q5/1bYB8f44TMFS31v7kTg/Hae7IKCLNUuPednzYz990d7GNwHnGmHpeq3qOTahEbEBgrT2A0+70nDHmKmNMbWNMNfcq5DF3sdnA/xhjGhljGrrLB30vtg9tjTED3SvPu3Cq/lbgVOVZnD4IGGNuwKkhCIoxJtmNwKvhFD5ZQK5be/Em8LAxpp4beNxdwn342k37z+5x6gr8HngjyPXfBO41xpxhjGmO0x+ipD4ALjTGXOfmpZp7DC72s/xK4KAxZoJxnpcQZYyJMcYkB7m9PThtkyWVAQx0z7Hf4XRkKql/Are6n7cxxtQxxlxR6ItclJeAvxhjLnDXjzPOcx3q4bRbZwJVjTGTOPmKwZ83gRHGmEvcq/wH82e4V+T/BJ4yxpwFYIxpZozp7bX+GzhV27fhp3YA56q4hpu/HGPM5e46wTrV8/dUTMc591sDGGPqG2O8b80N+vwK4jv9JjDGGNPcGHMGTmdl3O02Nsb0N8bUwfntOYxThV4W6gG/WmuzjDEpOG3swfL+7WiGc+GUr7jf7VeBu91z8GycvjIz/W3YGHOlu13j5nsMTv8Nfz5387fUnV6C81u3zPq/ffZUf1+KZJ3bjuv6+bvVXeZbnN+pB40xNY0xA3D6esz1laYxpooxpiZOHxfjrlM9UF4iNiAAsNY+ifNl+h+cH5qdOB/mu+4ifwXScDplrMe5M+BUHgAxH6fK7r84bTYDrbXZ1tpNOO3Ey3FOjlicuwqCdRrOj+5/caoI9+FcSYFzMh7BaYdbhvOD+3JxM26tPYFTnXs5zlXK88Bwa+2WIJN4yM3bduAjnN61JWKtPYRTGAzFufL7D791JvO1fC7Oj3+Cu/29OAVj/SA3+b84geF+Y8w9JcjyUzjt23tw2hJnlSANAKy1aTidQP+O83lvxemTEKwncX5gP8LpYPYvnI5Li3Daur/F+ZyyKLrpwTtPH+K0CX/q5ufTQotMcN9fYYw5CCzG6dSYv/5unHP/Upy7cHxt4xDOj/GbOPt9Dc4VZ1BCcP6WmLV2Hs75+Ya7/xvcfOSbDLzinl9XB5FkUd/pf+J8lmtxfq/e8VqvCk4B+DNOs0UXnLtbysLtwBRjzCGcC6s3i7HuFJzm1e04587bOAFNSb7bL+J0al2P8zkscN/zZyjOuXsIJ5h41Fr7ShHLf44T/OQHBMtwageX+l3j1H9fQmUoTifL/+J05PyDtTb/IrWTMeaw17KdcWr+FuLUQh3D+U0pknE7HlR6xpjJOB2H/hjuvIiIlFfGmNtwOth1CXdepHgiuoZAREQimzGmqTGmg1tN3QqnlmNeuPMlxaenhYmIyKmojlOt3xLntr43cJp8pJxRk4GIiIioyUBEREQUEIiIiAgVrA9Bw4YNbXR0dLizISIiUibS09P3Wmv9jXpYLBUqIIiOjiYtLS3c2RARESkTxphTecx8AWoyEBEREQUEIiIiooBAREREqGB9CHzJzs5m165dZGX5G3VVRHypWbMmzZs3p1q1auHOioiUgQofEOzatYt69eoRHR2NMcGO5ilSuVlr2bdvH7t27aJly5bhzo6IlIEK32SQlZVFgwYNFAyIFIMxhgYNGqhmTaQSqfABAaBgQKQE9L0RqVwqRUAgIiIiRat0AUGTJk0wxoTsr0mTJgG3GRUVRUJCAjExMQwePJijR4+e8n5ceumlp5yGtz179tCvXz/i4+O55JJL6Nu3b5HL79ixg5iYmIDpPvLIIwWmQ51vEREJjUoXEOzZs6fM06tVqxYZGRls2LCB6tWrM3369KDSzsnJ8Tvvq6++CjqPwZg0aRI9e/Zk7dq1bNq0ialTp4Yk3cIBQajzLSIioVHpAoJw69SpE1u3buX9998nNTWVNm3a0KNHD09gMXnyZEaNGkWvXr0YPnw4GzduJCUlhYSEBOLi4vjuu+8AqFu3LgBLliyha9eu/OEPf+Ciiy7i2muvJX9I64ULF3LRRRfRsWNHxowZQ79+/fzma/fu3TRv3twzHRcXBzi9zcePH09MTAyxsbHMmTPnpHVnzpzJ6NGjPdP9+vVjyZIlTJw4kWPHjpGQkMC1115bIN/+0i1qf0REyrt9+8KdA/8UEJShnJwcPvzwQ2JjY+nYsSMrVqxgzZo1DB06lMcee8yzXHp6OvPnz+f1119n+vTpjB07loyMDNLS0goU2vnWrFnDtGnT2LRpE99//z1ffvklWVlZ3HLLLXz44YcsW7aMzMzMIvN2xx13cOONN9KtWzcefvhhfv75ZwDeeecdMjIyWLt2LYsXL2b8+PHs3r07qP2dOnWqp3Zk1qxZBeYVla6v/RERKc9yc2HaNGjY0PmfmxvuHJ1MAUEZyL9KTkpK4pxzzuHGG29k165d9O7dm9jYWB5//HE2btzoWb5///7UqlULgPbt2/PII4/w6KOP8sMPP3je95aSkkLz5s2pUqUKCQkJ7Nixgy1btnDeeed57iEfNmxYkXns3bs333//PTfffDNbtmyhTZs2ZGZmsmzZMoYNG0ZUVBSNGzemS5curFq16pSPSVHp+tofEZHyLCcHxo1zXo8b50xHmlILCIwxLxtjfjHGbPB6b44xJsP922GMyfCz7g5jzHp3uXI/fGH+VXJGRgbPPvss1atX584772T06NGsX7+eF198scD93nXq1PG8vuaaa3jvvfeoVasWvXv35tNPPz0p/Ro1anheR0VFkZOTU6Jq9jPPPJNrrrmG1157jeTkZJYuXRpUOlWrViUvL88zHcy960Wl62t/RETKsxo1IL+vdt++znSkKc0agplAH+83rLVDrLUJ1toEYC7wThHrd3OXTSq9LIbPgQMHaNasGQCvvPKK3+W+//57zjvvPMaMGUP//v1Zt25dUOlfdNFFfP/9956ra19t/94+/fRTz90Phw4dYtu2bZxzzjl07tyZOXPmkJubS2ZmJkuXLiUlJaXAutHR0WRkZJCXl8fOnTtZuXKlZ161atXIzs4+aXvBpCsiUpEsWADWOv8jUak9uthau9QYE+1rnnGeeHI1cFlpbd+fxo0bh/ROg8aNG5dovcmTJzN48GCaNWtGu3bt2L59u8/l5syZw7///W+qVatGkyZNmDRpUlDp16pVi+eff54+ffrQsGHDgIVteno6o0eP9lzt33TTTSQnJ5OUlMTy5cuJj4/HGMNjjz1GkyZNClTjd+jQgZYtWxIbG0tMTAyJiYmeeaNGjSIuLo7ExMQC/QgGDBjgM90tW7YEtX8iIhJapjR7cLsBwQfW2phC73cGnvR39W+M2Q78F7DAi9bafwSzvaSkJJuWVrCFYfPmzVx88cUlyH35d/jwYerWrYu1ljvuuIMLLriAcfmNWCJBqMzfH5HywBiTHqqa9HB1KhwGzC5ifgdrbSJwOXCHG0D4ZIwZZYxJM8akBepJX9n885//JCEhgdatW3PgwAFuueWWcGdJREQiVJmPdmiMqQoMBNr6W8Za+7P7/xdjzDwgBVjqZ9l/AP8Ap4Yg5Bkux8aNG3dSjcCMGTN4+umnC7zXoUMHnnvuubLMmoiIRJhwDH/cA9hird3la6Yxpg5QxVp7yH3dC5hSlhmsyG644QZuuOGGcGdDREQiTGnedjgbWA60MsbsMsbc6M4aSqHmAmPM2caYhe5kY2CZMWYtsBJYYK39v9LKp4iIiJTuXQY+n4RjrR3h472fgb7u6++B+NLKl4iIiJxMTyoUERERBQQiIiJSGQOCJk3AmND9NWkScJNRUVEkJCR4/gINLVx49MCSSktLY8yYMaecTlnZsWMHMTExgRcUEZGQC8ddBuEVwqcUBpte/lgGpSUnJ4eqVU/+KJOSkkhKCv2Tn/1tT0REyq/KV0MQQaKjo9m7dy/gXM137dr1pGUyMzMZNGgQycnJJCcne4YCnjx5MqNGjaJXr14MHz7cZ/pLliyhX79+nuWvv/56evXqRXR0NO+88w5//vOfiY2NpU+fPp7xBqKjo5kwYQIpKSmkpKSwdetWAEaMGMHdd99Nt27dmDBhAhkZGbRr1464uDgGDBjAf//7XzZv3lzgEck7duwgLi4OcB6N3KVLF9q2bUvv3r09Qx2np6cTHx9P+/bt9SwEEZEwUkBQBvKHP87/CzTQkLexY8cybtw4Vq1axdy5c7nppps889LT05k/fz6vv/56UGlt27aNBQsWMH/+fP74xz/SrVs31q9fT61atVjgNdrGaaedxsqVKxk9ejR33XWX5/1vv/2WxYsX87e//Y3hw4fz6KOPsm7dOmJjY3nooYe4+OKLOXHiBN9//z3gjMNw9dVXk52dzZ133snbb79Neno6I0eO5P777wec5yI888wzLF++POhjIiIioad63zJwKk0GixcvZtOmTZ7pgwcPcujQIQD69+9PrVq1gk7r8ssvp1q1asTGxpKbm0ufPs5glLGxsQUGKxo2bJjnv/eTDgcPHkxUVBQHDhxg//79dOnSBYDrr7+ewYMHA3D11Vfz5ptvMnHiRObMmcOcOXP45ptv2LBhAz179gQgNzeXpk2bnpTOddddx4cffljcQyQiIiGggCCM8kcWBMjKyvK5TF5eHsuXL/dZ8NepU6dY26vhDsBdpUoVqlWrhjPopDOdk5PjWS7//cKvg9nekCFDGDx4MAMHDsQYwwUXXMD69etp3br1SbUA+/fvL5C+iIiEj5oMwig6Opr09HQA5s6d63OZXr168fe//90zXZqdE/PlN2nMmTOH9u3bnzS/fv36nHHGGXzxxRcAvPbaa56r/PPPP5+oqCj+8pe/MGTIEABatWpFZmamJyDIzs5m48aNnH766dSvX59ly5YBFBgeWUREylblqyFo3Di0dxo0bhxwkfw+BPn69OnD1KlTefDBB7nxxht55JFHSE1N9bnuM888wx133EFcXBw5OTl07tyZ6dOnhyr3Ph0/fpzU1FTy8vKYPdv3oJSvvPIKt956K0ePHuW8885jxowZnnlDhgxh/PjxbN++HYDq1avz9ttvM2bMGA4cOEBOTg533XUXrVu3ZsaMGYwcOZLatWvTu3fvUt0vERHxz1hbcQYITEpKsmlpaQXe03juxRMdHU1aWhoNGzYMd1YkAuj7IxLZjDHp1tqQ3F+uJgMRERGphE0GFdCiRYuYMGFCgfdatmzJvHnzip2W990GIiJSeSggqAB69+6t9ncRETklajIQERERBQQiIiKigEBERCQk9u0Ldw5OTaULCMIw+rGIiFRgubkwbRo0bOj8z80Nd45KptIFBGEY/ZioqKgCgxtNnTq1yOVnzpzJ6NGjQ5TD4qlbt25YtustnPsvIlJcOTmQP+zLuHHOdHmkuwzKwKkMbhSMnJwcqlbVR+lNx0REykqNGtC3Lyxc6Px3h40pdypdDUEkiY6OZu/evQCkpaXRtWvXk5bJzMxk0KBBJCcnk5yczJdffgnA5MmTGTVqFL169WL48OE+0585cyZXXnklffr0oVWrVjz00EOeeU8++SQxMTHExMQwbdq0k9a97rrrmD9/vmf62muv5b333uPo0aNcffXVxMXFMWTIEFJTU8l/OuTs2bOJjY0lJiamwHMR6taty/333098fDzt2rVjj1ut8v7775OamkqbNm3o0aOH5/1A/K1X+Jjs2bOHAQMGEB8fT3x8PF999VVQ6YuIFNeCBWCt87+8UkBQBvLHMsj/yx88KBhjx45l3LhxrFq1irlz53LTTTd55qWnpzN//nxef/11v+uvXLmSWbNmkZGRwVtvvUVaWhrp6enMmDGDr7/+mhUrVvDPf/6TNWvWFFjvpptu8oxPcODAAb766iv69u3L888/zxlnnMG6det44IEHPIMz/fzzz0yYMIFPP/2UjIwMVq1axbvvvgvAkSNHaNeuHWvXrqVz587885//BKBjx46sWLGCNWvWMHToUB577LGgjklR63kfkzFjxtClSxfWrl3L6tWrad26dVDpi4hURqpTLQOn0mSwePFiNm3a5Jk+ePAghw4dAqB///4+h0X21rNnTxo0aADAwIEDWbZsGcYYBgwY4BnOeODAgXzxxRe0adPGs16XLl244447+OWXX3jnnXcYNGgQVatWZdmyZYwdOxaAmJgY4uLiAFi1ahVdu3alUaNGgFOjsHTpUq666iqqV69Ov379AGjbti0ff/wxALt27WLIkCHs3r2bEydO0LJly6COSVHreR+TTz/9lFdffRVw+nHUr18/qPRFRCoj1RCEUdWqVcnLywMgKyvL5zJ5eXksX76cjIwMMjIy+Omnn6hXrx6Ap0AvijHmpOlgB7S67rrrmDVrFjNmzOCGG24A8LtuUWlWq1bNk4+oqChy3B43d955J6NHj2b9+vW8+OKLfo9BYUWtF8wxERGRk1W6gCCI0YrLLL3o6GhPlfvcuXN9LtOrVy/+/ve/e6aLW9Pw8ccf8+uvv3Ls2DHeffddOnToQOfOnXn33Xc5evQoR44cYd68eXTq1OmkdUeMGOHpX5Bf3d6xY0fefPNNADZt2sT69esBSE1N5fPPP2fv3r3k5uYye/ZsunTpUmTeDhw4QLNmzQBnOOVgBbte9+7deeGFFwDIzc3l4MGDQW9DRKSyqXQBwX/+43T8CNXff/4TeJuF+xBMnDgRgAcffJCxY8fSqVMnoqKifK77zDPPkJaWRlxcHJdccgnTp08v1v527NiR6667joSEBAYNGkRSUhKJiYmMGDGClJQUUlNTuemmmwo0F+Rr3LgxF198sad2AOD2228nMzOTuLg4Hn30UeLi4qhfvz5Nmzblf//3f+nWrRvx8fEkJiZy5ZVXFpm3yZMnM3jwYDp16lSs4ZaDXe/pp5/ms88+IzY2lrZt27Jx48agtyEiUtmYYKuPy4OkpCSb3+M9X2Uez33mzJmkpaUVqGEojqNHjxIbG8vq1as97e+5ublkZ2dTs2ZNtm3bRvfu3fn222+pXr16KLMuEaIyf39EygNjTLq1NikUaalTofi0ePFiRo4cyd13312gM97Ro0fp1q0b2dnZWGt54YUXFAyIiFQACggqgEWLFhW47x+gZcuWzJs3jxEjRpQozR49evDjjz+e9H69evUoXAtTWh5++GHeeuutAu8NHjyY+++/v0y2LyJSmajJQET80vdHJLKFssmg0nUqFBERkZMpIBAREREFBCIiIlIJOxU2eaIJe46EbgzkxnUa8597gngYgYiISASrdDUEoQwGgk0vKiqqwIOJpk6dWuTyM2fOZPTo0aHKokfXrl1LfIdASfKUkZHBwoULS7Q9EREpW6VWQ2CMeRnoB/xirY1x35sM3AxkuovdZ609qcQwxvQBngaigJestUWXoBHuVAY3CkZOTg5Vq0ZeZU9GRgZpaWn07ds33FkREZEASrOGYCbQx8f7T1lrE9w/X8FAFPAccDlwCTDMGHNJKeYzbKKjo9m7dy8AaWlpdO3a9aRlMjMzGTRoEMnJySQnJ/Pll18CzuN7R40aRa9evRg+fLjP9I8dO8bQoUOJi4tjyJAhHDt2zDOvbt26ntdvv/2253kF77//PqmpqbRp04YePXqwZ09wNSpvvfUWMTExxMfH07lzZ06cOMGkSZOYM2eOZ8jnI0eOMHLkSJKTk2nTpg3z588HnNqHK6+8kj59+tCqVSseeuihoLYpIiKhU2qXldbapcaY6BKsmgJstdZ+D2CMeQO4EthU5FoRLH8sg3z33nsvQ4YMCWrdsWPHMm7cODp27MiPP/5I79692bx5MwDp6eksW7bM7xDIL7zwArVr12bdunWsW7eOxMTEgNvr2LEjK1aswBjDSy+9xGOPPcbf/va3gOtNmTKFRYsW0axZM/bv30/16tWZMmVKgUcn33fffVx22WW8/PLL7N+/n5SUFHr06AHAypUr2bBhA7Vr1yY5OZkrrriCpKSQ3ForIiJBCEc982hjzHAgDfiTtfa/heY3A3Z6Te8CUssqc6XhVJoMFi9ezKZNv8VCBw8e5NChQwD079/fbzAAsHTpUsaMGQNAXFwccXFxAbe3a9cuhgwZwu7duzlx4gQtW7YMKp8dOnRgxIgRXH311QwcONDnMh999BHvvfceTzzxBOAM+Zz/NMSePXvSoEEDAAYOHMiyZcsUEIiIlKGy7lT4AnA+kADsBnxdehof7/l9nKIxZpQxJs0Yk5aZmelvsYhUtWpV8vLyAKdw9CUvL4/ly5eTkZFBRkYGP/30E/Xq1QOgTp06AbdhjK/DWfB9723feeedjB49mvXr1/Piiy/6zVdh06dP569//Ss7d+4kISGBffv2nbSMtZa5c+d69uXHH3/0PAWvcD795VtEREpHmQYE1to91tpca20e8E+c5oHCdgEtvKabAz8XkeY/rLVJ1tqkRo0aBcxD4zqNi5nr0ksvOjqa9PR0AObOnetzmV69ehUYrbA4NQ2dO3dm1qxZAGzYsIF169Z55jVu3JjNmzeTl5fHvHnzPO8fOHCAZs2aAfDKK68Eva1t27aRmprKlClTaNiwITt37qRevXqe2gyA3r178+yzz5L/uOw1a9Z45n388cf8+uuvHDt2jHfffZcOHToEvW0RETl1ZdpkYIxpaq3d7U4OADb4WGwVcIExpiXwEzAUuCZUeQjHMwMK9yHo06cPU6dO5cEHH+TGG2/kkUceITXVd6vIM888wx133EFcXBw5OTl07tyZ6dOnB7Xd2267jRtuuIG4uDgSEhJISfkt/po6dSr9+vWjRYsWxMTEcPjwYcDprDh48GCaNWtGu3bt2L59e1DbGj9+PN999x3WWrp37058fDznnHMOU6dOJSEhgXvvvZcHHniAu+66i7i4OKy1REdH88EHHwBO34XrrruOrVu3cs0116i5QEQizr594LZsVkilNriRMWY20BVoCOwBHnSnE3CaAHYAt1hrdxtjzsa5vbCvu25fYBrObYcvW2sfDmabGtyofJo5c2aBzocSOfT9EYHcXHj2WRg3Dp56Cu68E6Kiwp0rRygHNyrNuwyG+Xj7X36W/Rno6zW9ENATbUREJOxycpxgAJz/t90WOQFBKEXe02yk2BYtWsSECRMKvNeyZcsCfQNC5eGHH+att94q8N7gwYO5//77S5zmiBEjPM9BEBGJNDVqQN++sHCh879GjXDnqHSUWpNBOKjJQCS09P0RiWyhbDKodGMZiIiIyMkUEIiIiIgCAhEREamMnQrfaQJZIRwCuWZjGFj2zzYQEREJpcpXQxDKYCDI9KKiokhISPD8TZ1a9GjOM2fOZPTo0aHKoUfXrl0p3OkyWCXJU0ZGBgsXlu7do5MnT/aMjVBcO3bsICYmJsQ5ikz79+/n+eefD3c2RCSCVb4agjA4lcGNgpGTk0PVqpH3UWZkZJCWlkbfvn0DLyylKj8guP3228OdFRGJUJWvhiCCREdHs3fvXgDS0tLo2rXrSctkZmYyaNAgkpOTSU5O5ssvvwScK+NRo0bRq1cvhg8f7jP9Y8eOMXToUOLi4hgyZAjHjh3zzKtbt67n9dtvv+15DsD7779Pamoqbdq0oUePHuzZE1yNyltvvUVMTAzx8fF07tyZEydOMGnSJObMmUNCQgJz5szhyJEjjBw5kuTkZNq0acP8+fMBp/bhyiuvpE+fPrRq1YqHHnqoyG09/PDDtGrVih49evDNN9943veuAdm7dy/R0dGAUxPQqVMnEhMTSUxM5Kuvvgpqn3Jzc7nnnnuIjY0lLi6OZ599FoBPPvmENm3aEBsby8iRIzl+/DjgfJ733Xcf7du3JykpidWrV9O7d2/OP/98z+OmlyxZQufOnRkwYACXXHIJt956q2eAq48++oj27duTmJjI4MGDPY+Tjo6O5sEHHyQxMZHY2Fi2bNkCwOeff+6pdWrTpg2HDh3i8OHDdO/e3bNs/jGeOHEi27ZtIyEhgfHjxwPw+OOPk5ycTFxcHA8++GBQx0REKq7Iu6ysgAqPZXDvvfcyZMiQoNYdO3Ys48aNo2PHjvz444/07t2bzZs3A5Cens6yZcv8DoH8wgsvULt2bdatW8e6detITEwMuL2OHTuyYsUKjDG89NJLPPbYY/ztb74GpSxoypQpLFq0iGbNmrF//36qV6/OlClTCjyS+L777uOyyy7j5ZdfZv/+/aSkpNCjRw8AVq5cyYYNG6hduzbJyclcccUVPsczSE9P54033mDNmjXk5OSQmJhI27Zti8zbWWedxccff0zNmjX57rvvGDZsWFBNJ//4xz/Yvn07a9asoWrVqvz6669kZWUxYsQIPvnkEy688EKGDx/OCy+8wF133QVAixYtWL58OePGjWPEiBF8+eWXZGVl0bp1a2699VbPvm7atIlzzz2XPn368M4779C1a1f++te/snjxYurUqcOjjz7Kk08+yaRJkwBo2LAhq1ev5vnnn+eJJ57gpZde4oknnuC5556jQ4cOHD58mJo1awIwb948TjvtNPbu3Uu7du3o378/U6dOZcOGDZ6aqo8++ojvvvuOlStXYq2lf//+LF26lM6dOwc8LiJSMSkgKAOn0mSwePFiNm3a5Jk+ePCgZwTB/v37+w0GAJYuXcqYMWMAiIuLIy4uLuD2du3axZAhQ9i9ezcnTpygZcuWQeWzQ4cOjBgxgquvvpqBAwf6XOajjz7ivffe87T5Z2Vl8eOPPwLQs2dPGrijhgwcOJBly5b5DAi++OILBgwYQO3atQHnGASSnZ3N6NGjycjIICoqim+//TaofVq8eDG33nqrpznmzDPPZO3atbRs2ZILL7wQgOuvv57nnnvOExDk5yc2NpbDhw9Tr1496tWrR82aNdm/fz8AKSkpnHfeeQAMGzaMZcuWUbNmTTZt2uQZ5fHEiRO0b9/ek5f8Y9q2bVveeecdwDnmd999N9deey0DBw6kefPmZGdnc99997F06VKqVKnCTz/95LOW56OPPuKjjz6iTZs2ABw+fJjvvvtOAYFIJaaAIIyqVq3qqS7OysryuUxeXh7Lly/3WfDXqVMn4DaMMQHf9972nXfeyd13303//v1ZsmQJkydPDrgNgOnTp/P111+zYMECEhISfAZA1lrmzp1Lq1atCrz/9ddfn5RPf/kuap6/4/nUU0/RuHFj1q5dS15enudKOhBr7UnbCvRkzxruM02rVKnieZ0/nZOT4zP/xhistfTs2ZPZs2cXmW5UVJQnnYkTJ3LFFVewcOFC2rVrx+LFi1mxYgWZmZmkp6dTrVo1oqOjfZ5b1lruvfdebrnlliL3R0Qqj8rXh6Bm44hJLzo6mvT0dADmzp3rc5levXoVGAWwODUNnTt3ZtasWQBs2LCBdevWeeY1btyYzZs3k5eXV2DMgwMHDtCsWTMAXnnllaC3tW3bNlJTU5kyZQoNGzZk586d1KtXz1ObAdC7d2+effZZT6G6Zs0az7yPP/6YX3/9lWPHjvHuu+96rpR97dO8efM4duwYhw4d4v333/fM8z6eb7/9doF9atq0KVWqVOG1114jNzc3qH3q1asX06dP9xTAv/76KxdddBE7duxg69atALz22mt06dIlqPTyrVy5ku3bt5OXl8ecOXPo2LEj7dq148svv/Ske/To0YA1Gdu2bSM2NpYJEyaQlJTEli1bOHDgAGeddRbVqlXjs88+44cffgDw+Vm8/PLLnn4KP/30E7/88kux9kNEKpbKV0MQhmcGFO5D0KdPH6ZOncqDDz7IjTfeyCOPPEJqaqrPdZ955hnuuOMO4uLiyMnJoXPnzp4OaoHcdttt3HDDDcTFxZGQkEBKSopn3tSpU+nXrx8tWrQgJibGUzBMnjyZwYMH06xZM9q1a8f27duD2tb48eP57rvvsNbSvXt34uPjOeecc5g6dSoJCQnce++9PPDAA9x1113ExcVhrSU6OpoPPvgAcPouXHfddWzdupVrrrnGZ3MBQGJiIkOGDCEhIYFzzz2XTp06eebdc889XH311bz22mtcdtllnvdvv/12Bg0axFtvvUW3bt2CqlkBuOmmm/j222+Ji4ujWrVq3HzzzYwePZoZM2YwePBgcnJySE5O9vQNCFb79u2ZOHEi69ev93QwrFKlCjNnzmTYsGGeTop//etfPU0TvkybNo3PPvuMqKgoLrnkEi6//HIOHTrE73//e5KSkkhISOCiiy4CoEGDBnTo0IGYmBguv/xyHn/8cTZv3uxplqhbty7//ve/Oeuss4q1LyJScWhwIwm7mTNnFuh8WJEtWbKEJ554whMIRTp9f0QimwY3EhERkZBSDUEFsGjRIiZMmFDgvZYtWxboGxAqDz/8MG+99VaB9wYPHsz9998f0u3s27eP7t27n/T+J5984rkbIVTK8viVN5Xh+yNSnoWyhkABgYj4pe+PSGRTk4GIiIiElAICERERUUAgIiICsG9fuHMQXpXvOQRfZUB2TujSq1YVLk0IXXoiIlKmcnPh2Wdh3Dh46im4806Iigp3rspe5ashCGUwEGR6UVFRJCQkEBMTw+9//3vPM+3DZebMmYwePRpwHo18/fXXM3LkSL+P5c0fOjffjh07eP3110u8/fHjx9O6dWvPqHuRYvLkyZ5xFkSk8sjJcYIBcP7nhLiYKC8qX0AQBvmDG23YsIEzzzyT5557LtxZApzn2d96661kZ2fz0ksv+R0jINQBwYsvvsjq1at5/PHHS5wGEPQjiH2x1nrGPSipnMr6qyFSwdSoAX37Oq/79nWmKyMFBGWsffv2/PTTTwB07drVMwzv3r17iY6OBpwr+IEDB9KnTx8uuOAC/vznP3vW/9e//sWFF15I165dPY/SBcjMzGTQoEEkJyeTnJzMl19+GTAvY8eOZd++fbz66qtUqVLlpCvkmJgYduzYwcSJE9m2bRsJCQmMHz+eiRMn8sUXX5CQkMBTTz3Fjh076NSpE4mJiSQmJvLVV1/53Wb//v05cuQIqampzJkzhx9++IHu3bsTFxdH9+7dPaMfjhgxosB4BHXr1gWcJ/1169aNa665htjYWL/befLJJ4mJiSEmJoZp06YBTiBz8cUXc/vtt5OYmMjOnTt5+OGHadWqFT169OCbb77xrL9t2zb69OlD27Zt6dSpE1u2bPHk6+6776Zbt24nPbtARMqvBQvAWud/ZVX5+hCEUW5uLp988gk33nhjwGUzMjJYs2YNNWrUoFWrVtx5551ERUXxl7/8hdWrV1OvXj0uu+wy4uPjAadwHzduHB07duTHH3+kd+/ebN682W/6r7/+OhdffDFLlizxDO/rz9SpU9mwYYNnYKXCj989evQoH3/8MTVr1uS7775j2LBhFH4eRL733nuPunXretL6/e9/z/Dhw7n++ut5+eWXGTNmDO+++26R+Vm5ciUbNmzwOzRzeno6M2bM4Ouvv8ZaS2pqKl26dOGMM87gm2++YcaMGTz//POkp6fzxhtvsGbNGnJyckhMTKRt27YAjBo1iunTp3PBBRfw9ddfc/vtt/Ppp58C8O2337J48WKiKmMjo4hUWAoIykD+4EY7duygbdu29OzZM+A63bt3p379+gBccskl/PDDD+zdu5cuXbpw5plnAs4TAvNHxFu8eDGbNm3yrH/w4EEOHTpEvXr1fKafmJjIli1bWLlypd+RBYOVnZ3N6NGjycjIICoqKuAofd6WL1/OO++8A8B1111XoDbEn5SUFL/BAMCyZcsYMGCAZxCjgQMH8sUXX9C/f3/OPfdc2rVrB8AXX3zBgAEDqF27NuDUXgAcPnyYr776isGDB3vSzB9wCJzjrmBARCoaBQRlIL8PwYEDB+jXrx/PPfccY8aMoWrVqp527MJj1tfwasSKiooiJyfHb6c/cDoHLl++nFq1agWVp4suuogpU6Zw9dVXs2jRIlq3bl0gP77y5M9TTz1F48aNWbt2LXl5edSsWTOo9XzJ78fgnRdrLSdOnPAsE2i0wqKOU+F1ffWbyMvL4/TTT/c71HSwoyWKiJQnla8PQbUQx0DFSK9+/fo888wzPPHEE2RnZxMdHU16ejpAgfZyf1JSUvj888/573//S05ODnPnzvXM69WrV4HRAv0VZt4uvfRSpk+fzhVXXMGPP/5IdHQ0q1evBmD16tWeoY/r1avHoUOHPOsVnj5w4ABNmzalSpUqvPbaa8Xq7HfppZfyxhtvADBr1iw6duwIUODYzJ8/n+zs7KDT7Ny5M++++y5Hjx7lyJEjzJs3r8Awyd7LzZs3j2PHjnHo0CHef/99AE477TRatmzpGbPBWsvatWuD3r6ISHlU+WoIwvzMgDZt2hAfH88bb7zBPffcw9VXX81rr73GZZddFnDdZs2acd9995GamsrZZ5/NJZdc4mlWeOaZZ7jjjjuIi4sjJyeHzp07M3369IBp9uvXj8zMTPr06cPHH3/Mq6++SkJCAsnJyVx44YUANGjQgA4dOhATE8Pll1/OI488QtWqVYmPj2fEiBHcfvvtDBo0iLfeeotu3boV6wr6mWeeYeTIkTz++OM0atSIGTNmAHDzzTdz5ZVXkpKSQvfu3YuVZmJiIiNGjCAlJQWAm266iTZt2rBjx46TlhsyZAgJCQmce+65BYKGWbNmcdttt/HXv/6V7Oxshg4d6umvISJSEWlwo3Lm8OHD1K1bl5ycHAYMGMDIkSMZMGBAuLMlFVRF+/6IVDQa3KgSmzx5suchRy1btuSqq64Kd5ZERKQCqHxNBuVccZ6kN2PGDJ5++ukC73Xo0KFMHoy0fv16rrvuugLv1ahRg6+//jpk29i3bx/du3c/6f1PPvmEBg0ahGw7IiKVgZoMRMQvfX9EIpuaDERERCSkFBCIiIhI6QUExpiXjTG/GGM2eL33uDFmizFmnTFmnjHmdD/r7jDGrDfGZBhjfD8DV0REREKmNGsIZgJ9Cr33MRBjrY0DvgXuLWL9btbahFC1jeRrApgQ/jUJZeZERETCpNQCAmvtUuDXQu99ZK3NHzN2BdC8tLbvz54wpTdv3jyMMZ5R8wrzHvlQRESkrIWzD8FI4EM/8yzwkTEm3RgzqqhEjDGjjDFpxpi0zMzMkGcyVGbPnk3Hjh09j+kVERGJJGEJCIwx9wM5wCw/i3Sw1iYClwN3GGM6+0vLWvsPa22StTapUaNGpZDbU3f48GG+/PJL/vWvf3kCgmPHjjF06FDi4uIYMmQIx44d8yx/2223kZSUROvWrXnwwQc970dHR3PffffRvn17kpKSWL16Nb179+b888/3PKZ49+7ddO7c2fPwoi+++MJvvurWrcuf/vQnEhMT6d69O/kB1datW+nRowfx8fEkJiaybdu20jgsIiJlat++cOcgspV5QGCMuR7oB1xr/TwEwVr7s/v/F2AekFJ2OQy9d999lz59+nDhhRdy5plnsnr1al544QVq167NunXruP/++z0D+QA8/PDDpKWlsW7dOj7//HPWrVvnmdeiRQuWL19Op06dGDFiBG+//TYrVqxg0qRJALz++uv07t2bjIwM1q5dS0JCgt98HTlyhMTERFavXk2XLl146KGHALj22mu54447WLt2LV999RVNmzYtnQMjIlIGcnNh2jRo2ND5X4zx1yqVMg0IjDF9gAlAf2vtUT/L1DHG1Mt/DfQCNvhatryYPXs2Q4cOBWDo0KHMnj2bpUuX8sc//hGAuLg44uLiPMu/+eabJCYm0qZNGzZu3MimTZs88/r37w9AbGwsqamp1KtXj0aNGlGzZk32799PcnIyM2bMYPLkyaxfv5569er5zVeVKlUYMmQIAH/84x9ZtmwZhw4d4qeffvKMj1CzZk1q164d2gMiIlKGcnJg3Djn9bhxzrScrNQeXWyMmQ10BRoaY3YBD+LcVVAD+Ngdh36FtfZWY8zZwEvW2r5AY2CeO78q8Lq19v9KK5+lbd++fXz66ads2LABYwy5ubkYY2jTpg3uPhawfft2nnjiCVatWsUZZ5zBiBEjyMrK8syvUaMG4BTm+a/zp/NHOVy6dCkLFizguuuuY/z48QwfPjyovBpjqEhPrhQRAahRA/r2hYULnf9eP53ipTTvMhhmrW1qra1mrW1urf2XtfZ31toW7u2ECdbaW91lf3aDAay131tr492/1tbah0OZr8ahTCyI9N5++22GDx/ODz/8wI4dO9i5cyctW7YkMTGRWbOcLhQbNmzwNAscPHiQOnXqUL9+ffbs2cOHH/rrd+nbDz/8wFlnncXNN9/MjTfeyOrVq/0um5eXx9tvvw04TQ0dO3bktNNOo3nz5rz77rsAHD9+nKNHfVbmiIiUGwsWgLXOf/Gt0g1u9J8y3t7s2bOZOHFigfcGDRrEmjVrOHbsGHFxcSQkJJCS4nSTiI+Pp02bNrRu3ZrzzjuPDh06FGt7S5Ys4fHHH6datWrUrVuXV1991e+yderUYePGjbRt25b69eszZ84cAF577TVuueUWJk2aRLVq1Xjrrbc477zzirnnIiJSnmhwo0qsbt26HD58ONzZkAim749IZNPgRiIiIhJSla7JoDJKTU3l+PHjBd577bXXVDsgIiIeCggqga+//jrcWRARkQinJgMRERFRQCAiIiIKCERERIRK2Idg/5P7sUdCd6ulqWM4/e7Ti17GGP74xz/y2muvAZCTk0PTpk1JTU3lgw8+4L333mPTpk1MnDiRyZMnU7duXe655x4mTZpE586d6dGjR0jyumTJEp544gk++OADz3sjRoygX79+/OEPfwjJNgLx3lcREYkclS4gCGUwEGx6derUYcOGDRw7doxatWrx8ccf06xZM8/8/v37e8Yo8DZlypSQ5jUS+NtXEREJLzUZlJHLL7+cBe4zM2fPns2wYcM882bOnMno0aNPWid/NENwhj5+8MEHSUxMJDY2li1btgDOiIUjR44kOTmZNm3aMH/+/BLnccqUKSQnJxMTE8OoUaM84xp07dqVcePG0blzZy6++GJWrVrFwIEDueCCC/if//kfAHbs2MFFF13ETTfdRExMDNdeey2LFy+mQ4cOXHDBBaxcufKkfR0xYgRjxozh0ksv5bzzzvPsa15eHrfffjutW7emX79+9O3b1zPPl+joaCZMmEBKSgopKSls3boVgD179jBgwADi4+OJj4/nq6++KvGxERGp6BQQlJGhQ4fyxhtvkJWVxbp160hNTS12Gg0bNmT16tXcdtttPPHEE4AzVPJll13GqlWr+Oyzzxg/fjxHjhzxm8YXX3xBQkKC5++9997zzBs9ejSrVq3y1GZ4Ny1Ur16dpUuXcuutt3LllVfy3HPPsWHDBmbOnMk+d5DxrVu3MnbsWNatW8eWLVt4/fXXWbZsGU888QSPPPKIz/zs3r2bZcuW8cEHH3iaEd555x127NjB+vXreemll1i+fHnAY3PaaaexcuVKRo8ezV133QXAmDFj6NKlC2vXrmX16tW0bt06YDoiIpWVAoIyEhcXx44dO5g9ezZ9+/YtURoDBw4EoG3btuzYsQOAjz76iKlTp5KQkEDXrl3Jysrixx9/9JtGp06dyMjI8Px5V99/9tlnpKamEhsby6effsrGjRs987yHXW7dujVNmzalRo0anHfeeezcuROAli1bEhsbS5UqVWjdujXdu3fHGENsbKwnv4VdddVVVKlShUsuuYQ9e/YAsGzZMgYPHkyVKlVo0qQJ3bp1C3hs8mtchg0b5gkgPv30U2677TYAoqKiqF+/fsB0REQqq0rXhyCc+vfvzz333MOSJUs8V9XFkT/ccVRUFDnugN7WWubOnUurVq1OKW9ZWVncfvvtpKWl0aJFCyZPnlysYZe9lym8nPcy/vYpf1+8/xeH91DSvoaVFhGRoqmGoAyNHDmSSZMmERsbG7I0e/fuzbPPPuspRNesWVOidPIL/4YNG3L48OEi2+xLW8eOHZk7dy55eXns2bOHJUuWBFwnf6TGOXPm0L59ewC6d+/OCy+8AEBubi4HDx4stTyLSHiV4BpLCql0AYGpE9qrx+Kk17x5c8aOHRvS7T/wwANkZ2cTFxdHTEwMDzzwQInSOf3007n55puJjY3lqquuIjk5OaT5LI5BgwbRvHlzYmJiuOWWW0hNTQ1Y3X/8+HFSU1N5+umneeqppwB4+umn+eyzz4iNjaVt27YFmkBEpGLIzYVp06BhQ+d/bm64c1R+afhjiUiHDx+mbt267Nu3j5SUFL788kuaNGnic9no6GjS0tJo2LBhGeey4tP3RyLd8eNQs+Zv01lZ4NUSWeGFcvhj9SGQiNSvXz/279/PiRMneOCBB/wGAyJSudWoAX37wsKFzv/KFAyEmgKCCmjRokVMmDChwHstW7Zk3rx5YcpR8fnqNzBgwAC2b99e4L1HH33U7x0MIlI5uI94kVOkgKAC6t27N7179w53NkKuPAU0IiLlTaXoVFiR+kmIlBV9b0QqlwofENSsWZN9+/bpx02kGKy17Nu3j5revbVEpEKr8E0GzZs3Z9euXWRmZoY7KyLlSs2aNWnevHm4syEiZaTCBwTVqlWjZcuW4c6GiIhIRKvwTQYiIiISmAICERERUUAgIiIiCghEREQEBQQiIiKCAgIRERFBAYGIiIiggEBERMqBffvCnYOKTwGBiIhErNxcmDYNGjZ0/ufmhjtHFZcCAhERiVg5OTBunPN63DhnWkqHAgIREYlYNWpA377O6759nWkpHaUWEBhjXjbG/GKM2eD13pnGmI+NMd+5/8/ws24fY8w3xpitxpiJpZVHERGJfAsWgLXOfyk9pVlDMBPoU+i9icAn1toLgE/c6QKMMVHAc8DlwCXAMGPMJaWYTxERkUqv1AICa+1S4NdCb18JvOK+fgW4yseqKcBWa+331toTwBvueiIiIlJKyroPQWNr7W4A9/9ZPpZpBuz0mt7lvueTMWaUMSbNGJOWmZkZ0syKiIhUFpHYqdD4eM/6W9ha+w9rbZK1NqlRo0almC0REZGKq6wDgj3GmKYA7v9ffCyzC2jhNd0c+LkM8iYiIlJplXVA8B5wvfv6emC+j2VWARcYY1oaY6oDQ931REREpJSU5m2Hs4HlQCtjzC5jzI3AVKCnMeY7oKc7jTHmbGPMQgBrbQ4wGlgEbAbetNZuLK18ioiICFQtrYSttcP8zOruY9mfgb5e0wuBhaWUNRERESkkEjsVioiISBlTQCAiIiIKCEREJPw0vHH4KSAQEZGw0fDGkSNgQGCMGe1vECIREZFToeGNI0cwNQRNgFXGmDfdUQh9PUlQRESk2DS8ceQIGBBYa/8HuAD4FzAC+M4Y84gx5vxSzpuIiFQCGt44MgTVh8Baa4H/uH85wBnA28aYx0oxbyIiIlJGAj6YyBgzBucxw3uBl4Dx1tpsY0wV4Dvgz6WbRRERESltwTypsCEw0Fr7g/eb1to8Y0y/0smWiIiIlKWAAYG1dlIR8zaHNjsiIiISDnoOgYiIiCggEBEREQUEIiIiggICERERQQGBiIiIoIBARERKmUYyLB8UEIiISKnQSIbliwICEREpFRrJsHxRQCAiIqVCIxmWL8E8ulhERKRENIJh+aEaAhEREVFAICIiIgoIREREBAUEIiIiggICERERQQGBiIiIoIBAREREUEAgIiKnSGMVVAwKCEREpEQ0VkHFooBARERKRGMVVCwKCEREpEQ0VkEJRHD7igICEREpsQULwFqNWRBQOWhfUUAgIiJS2spB+4oCAhERkdJWDtpXynz4Y2NMK2CO11vnAZOstdO8lukKzAe2u2+9Y62dUkZZFBERCb0Ib1cp84DAWvsNkABgjIkCfgLm+Vj0C2ttvzLMmoiISKUV7iaD7sA2a+0PYc6HiIhIpRbugGAoMNvPvPbGmLXGmA+NMa3LMlMiIiKVTdgCAmNMdaA/8JaP2auBc6218cCzwLtFpDPKGJNmjEnLzMwslbyKiFRmEXzrvIRQOGsILgdWW2v3FJ5hrT1orT3svl4IVDPGNPSViLX2H9baJGttUqNGjUo3xyIilUg5uHVeQiicAcEw/DQXGGOaGGOM+zoFJ5+KUUVEylA5uHVeQigsAYExpjbQE3jH671bjTG3upN/ADYYY9YCzwBDrbW27HMqIlJ5lYNb5yNLOW9bMRWpnE1KSrJpaWnhzoaIiFQmubnw7LNONcpTT8Gdd0JUVJls2hiTbq1NCkVa4b7LQEREpHyrIG0rCghERERORQVpWynzJxWKiIhUOBH+WOJgqIZAREREFBCIiIiIAgIRkUqvnN8tJyGigEBEpJLSkwjFmwICEZFKqoLcLSchooBARKSSqiB3y5WdCt62ooBARKQSW7AArK0Qd82VnkrStqKAQEREpCiVpG1FAYGIiEhRKknbip5UKCIiEkglaFNRDYGIiIgoIBARqcgqeMd4CSEFBCIiFVAl6RgvIaSAQESkAqokHeNDq5JXpyggEBGpgCpJx/jQUHUKAMZaG+48hExSUpJNS0sLdzZERKQ8OX4catb8bTorq9xEUMaYdGttUijSUg2BiIhUbqpOAfQcAhERkUrxnIFAVEMgIiIiCghERMqzSt4xXkJIAYGISDmkjvESagoIRETKIT1noARUnVIkBQQiIuWQOsYXQwRVp+w7GrlBiQICEZFyasECsFYd5AOKgOqU3Lxcpq2YRsPHGzJtxTRy8yKvjUcBgYiIVGwRUJ2Sk5fDuEVOUDJu0Thy8iKvjUcBgYiIVHxhrk6pUbUGfX/nBCV9L+hLjaqR18ajBxOJiIiUgQXXRnbbjmoIREQimDrGS1lRQCAiEoEiqGN8+aDI6ZQpIBARiUAR0DG+fIigyCmSbykMhgICEZEIFAEd48uHCIicysMthcFQQCAiEqH0nIEgREDkVB5uKQyGAgIRESnfdEthSITltkNjzA7gEJAL5FhrkwrNN8DTQF/gKDDCWru6rPMpIlKa9u2DBg3CnQsJhUi/pTAY4awh6GatTSgcDLguBy5w/0YBL5RpzkRESlEE9YMrP3QXQamL1CaDK4FXrWMFcLoxpmm4MyUiEgoR0A+u/Iig6Km830UQSLgCAgt8ZIxJN8aM8jG/GbDTa3qX+95JjDGjjDFpxpi0zMzMUsiqiEhoRUA/uPIjAqKninIXQSDhCgg6WGsTcZoG7jDGdC403/hYx/pKyFr7D2ttkrU2qVGjRqHOp4hIqdAdBEGKgOipotxFEEhYAgJr7c/u/1+AeUBKoUV2AS28ppsDP5dN7kREJKLoLoIyUeZ3GRhj6gBVrLWH3Ne9gCmFFnsPGG2MeQNIBQ5Ya3eXcVZFRE6J7iKoOCrCXQSBhKOGoDGwzBizFlgJLLDW/p8x5lZjzK3uMguB74GtwD+B28OQTxGREomgfnDlRwTcRVAmnQaPh38//SnzgMBa+721Nt79a22tfdh9f7q1drr72lpr77DWnm+tjbXWppV1PkVESioC+sGVHxEQPZVJp8G8XNgyDeY2dP5HYMdEY63PvnrlUlJSkk1LU+wgIuF3xRWwcKHTD04dB4tw/DjUrPnbdFZWmXccPJ5znJoP/5aHrPuzQt9PIPc4zPHazyFZEHXq2zDGpPt5nk+xRepzCEREyjXdRRCkCLiLoEw6DUbVgLPd/Ty7b0iCgVBTDYGISAmp02CQIuRA7Tu6jwa1SzEfx/dBjbLdT9UQiIiEUQQ0e5cPEXKgSr2PQDnoHxAM1RCIiBRTBDR7lw8RcqBKvY9AKfUPCIZqCEREwigCmr3Lhwg5UKXeR6Ac9A8IhmoIRESk3Cv1/gEQlj4CgaiGQESkDETAs3LKhzAeKD1DIHQUEIiIFBIhfeEiXwQcqDIZeMjmwGr3SVOrxznTFZACAhGRQvSkwSBFwIEKaf8Af48VriB9BAIp88GNREQiXX5fuPwnDVb6ToP+niNQhgeqqD4CpzzwUF4ufPusc/Wf+BRceCdUiSq4TNeK/4Qp1RCISKUUqNlbTxokuCaBUj5QZdJHoJI0CQSigEBEKpUIaPYuPyKgSSCkfQQqeZNAIAoIRKRSiYAyrvwow+cI+Bt6OCR9BIK5S6DrArjGVoqmAX8UEIhIpRIhz8qJLEW1n0RAk8CCaxdgH7QsuKaEeVCTQFAUEIhIhRTGMq78iID2k5A1CfhrDgA1CQRJAYGIVCgRUMaVH2XUfuKvOQBC0CQQ7EOD1CQQkAICEalQ1EegkKKqSkq5/STYOwSCahLwVwOg5oCQUUAgIhWK+gi4gq0qCUH7ib8agJA0BwSqAVBzQMgoIBCRckl9BFz+DkQZVJUEqgEoVnPAqdQAqDkgJBQQiEi5oj4CrkAHIoRVJadSAxCwOUA1ABFDwx+LSLly/DjUrPnbdFZWJW0WKIMDkZuXy7Mrn2XconE81fsp7ky5k6hCj/S9YtYVLNy6kL4X9PVf6Bc1bHDucZjjtR9DslToF4OGPxaRCi2M/eAij7+DEUk1ABP3+g4GgrkDoJLVAGz7MTPcWfBLAYGIRIwy7AcX+cpgHIFT7gMQqMAP9g6A8tIHILvofhhFFfbHT2Qz661tnPlKVWa9tY3jJ7JDnbtTpiYDESlz/gbPq3TNAf4OBITsYBQ1SuDxnOPUfPi3bWTdn+W745+/Kv9gqvuXXAE/L3Su/iO8wN/2Yybnn9Po5BnWwk+/sG/rf2jwuybQ7CwwxjP7+Ils3p7/I323nMnCi37lD1eeQ43q1QokceDQUfKmHfdMV7mrBvXr1T7lPKvJQETKpTLsBxfZgrn6D/Jg+KvuD+YZAPk1AGdWKWENQDDV/WV09R9MVby/ZQJdvR8/kc2ijDyqfHEOizLyTpqfdTybvlvOBKDvljPJOn7y1X/9erVZ1dypYVjVPCckwUCoqYZARMqMagBcITgQgTr85V/9n1kFfs3zc/WflwvfPutU5yc+BRfeCd6dBsuww5/fq/MA84O5Og+0TKCr9wNHssh78thv8++uRf06XscF+GhGJsm7qrKqeQ69bvC/H6GmGgIRiWhl0A8uMvjb0RBWhQTq8HdmFd8d/mpUqcqLv7uYfefDixdcTI0qVU9OJFAbf4g6/J1K23qg+cFcnQdaJtDVe/06NVnS8AgASxoePikYAOh1QyPOeOCMMg0GQk0BgYiETBn0g4sMgXY0mIcCLVjAviN7/R6I/Cr/C//mp8NfoALf5jDKbAZgFJt9d+gLssp/W8dfiqzyL2lVPAQurE+1MA92mUAF+oDbmnPGA2cw4LYWPudXBAoIRKTYwvhwvLJV0h11awD21cJnDUCgwt7ZxHF2fD2OfefDjq/HkZNzvOACgQp8t7DfVzW+6Kv7Igr8srh6D3h1HoLCPNhlKjsFBCIStArVKbCohx0EuaNFFvgP9OTCe2HaAz1PKvADFvZAjagoprll17RGznQBAQr84yeymZX5DFW++YxZmc/4vDo/1QI9FFfvELiwVmFeNhQQiEgBRZWTQdaER0aTQEnb98Gzo/tq4XNHT7XAzy/s91WN913YwykX+GXSth6iq3eJDAoIRAQI6Z1w4RVk+76/wh4gt1pVpt1wsVPg33AxudWqFkrCKfC/bRVfogL/eG4V3q+5kirffMb7NVdyPPfkn+JTLfDLqm1dBX7FodsORSqZCvNQoAA7sq8WNDjGSTuSm5fLszfF8peWm3lg+8Xc+dL6k57Pf/zEUSa8UIcHmsbzl91refS2I9So/lthefzYYZb83xpSNsSwMmYDXfu0oUatul7rZ/PRBxl03Pg7lrXeSq9+CcW6zS3YZcJ1q5tEDt12KCLFVq7a/4No39/XwveO5F/dd3843v/Vffxm5+o+frPP9nty87j8nKVU+eYzLj9nKeTmFZidlVOFlA0xAKRsiCErp+BPadbxbDpu/B0AHTf+LmxX7yLFUeYBgTGmhTHmM2PMZmPMRmPMWB/LdDXGHDDGZLh/k8o6nyLl1ancAVBm7f8B2vd/vch/u0XuieNMmzPOKfDnjCP3RMEC/cixw9Tv+yKfHf6M+n1f5Mixw4USKLqwh8AFvnrGS0UUjhqCHOBP1tqLgXbAHcaYS3ws94W1NsH9m1K2WRSJXGXwLJxSz6S/Aj/3+FE+3zIO+1w8n28ZR+7xoyclcSQvm/p/WuoU+H9aypG8glffNjuPqzY7hflVm2Ow2cW7uge1rUvlVOYBgbV2t7V2tfv6ELAZaFbW+RApb0L0LJyQ1ADs2/VdkZn8vm/3EhX4R3KzyertXL1n9V7KkdyTe8YHKvDrn34Gq1s4661ukU39088oOD9Et8KJVDRh7UNgjIkG2gBf+5jd3hiz1hjzoTGmdRFpjDLGpBlj0jIzI3ecaZFgnMotf6GqAfBb2AO52SeY9ugAur81mGmPDiA3+0SB+UcPHWRuo7ac0e8z5jZqy9FDBwvMD1TgW2oWuHq3nPyI2EAFPkD3EWdxxgNn0H3EWT73Q4W9yMnCFhAYY+oCc4G7rLUHC81eDZxrrY0HngXe9ZeOtfYf1toka21So0b6cktkO5Vb44Mp8IOpAfh1+0rfeQhQ2AMcOXSA+uff7VTXn383Rw4dKDg/N5vLvncK9Mu+jyl2gR/s1XugAl9Eii8sAYExphpOMDDLWvtO4fnW2oPW2sPu64VANWNMwzLOpkjIhKK6H9wCf+++Igv8tauW+c7DiWN8/lwsdtUoPn8ultwTxwrMD1TYA9gqVQtW1xd6fn6jBmd5rt7TW2TTqEHBAls950UiVzjuMjDAv4DN1ton/SzTxF0OY0wKTj6LqEwViQyn+Oh7oIjq/gDt80cPH+TNOSs45/9a8+acFRw9XKi6/uB+ss5+3qmuP/t5jhzcX2B+oMIeildd30PV9SLlSjhqCDoA1wGXed1W2NcYc6sx5lZ3mT8AG4wxa4FngKG2Ij1BScqlEDz6HvBT4OfmsqDnNLalJLCgp48ECKJ9/tABen7bCoCe37Y66Qrf1qhfsLq+Rv0C84Mp7EHV9SIVVTjuMlhmrTXW2jiv2woXWmunW2unu8v83Vrb2lobb61tZ639qqzzKZVPCB59z5kNv/Nd5R+gwA9U2EPg9vlGTVsUKNAbNS04TGsw1fUq7EUqLz2pUCqNkhb4+YV9fMpWv+37Vc0xHrmnF98+N5hH7ulFVVOwfT6Y3vdFFfYQuH0e1LteREpOAYFUeKda4OdmH+TVWav5rF8DXp21mtxsH1fvB/eTeOkDVPnmMxIvfeCk9vmAV/dBFPYQuH1eRKSkNLiRVBiBBu2JT9nK2pW/O2nQnqOHDzL3va3029aSD87fzqD+v6N23dM88zN376TqS78NXJNz0+GTquODGYjmk5m/kLizGuktslWgi0hIaHAjqXSC6dDXve9WnzUAga7wjxw6QL9tLQHot63lSZ3xArXNQ/Ha5xUMiEgkUkAgESFQ+76/wh7g4P6D1G+0ls/6NaB+o7Uc3B/6Aj+YznZqnxeR8kwBgZSJkhb4gQp7gJwTB7jq+3MAuOr7c8g5UToFvohIRaaAQE7ZqVTnByrwAxX2oAJfRCQUFBBIQKVZnR+Kq3tQgS8icqoUEIhfqs4XEak8FBAIy5b4HgxH1fkiIpWHAoJKwF+Bf+jAQV6fnUbrL1rz+uw0Dh1Qdb6ISGWlgKCcK6pDX6AC/8D+A1y+9XwALt96Pgf2qzpfRKSyUkBQTgXToS9Qgd/83BYFHpfb/FwV+CIilZUCgghX0vZ9KF6Br6fniYhUbgoIwqy02vfzqcAXEZFgKCAIk7Jo3xcREQmWAoJS5O/qH9S+LyIikUUBwSkoaXU/qH1fREQiS9VwZ6A8OnTgIO8v/JbLt7bm9d1p/L7vhdSrf5pnvq+rf+/5+fKv7HuUTbZFRET8Ug1BEfzVAISiul9ERCSSqIbAh0A1AM3PbcEnLX4hcWc10ltk08NPdT/o6l9ERMoHBQQ+BFPlrwJfREQqEjUZ+KAqfxERqWxUQ+CHagBERKQyUQ2BiIiIKCAQERERBQQiIiKCAgIRERFBAYGIiIiggEBERERQQCAiIiIoIBAREREUEIiIiAgKCERERAQFBCIiIoICAhEREQGMtTbceQgZY0wm8EMIk2wI7A1hepWZjmXo6FiGho5j6OhYhk5xj+W51tpGodhwhQoIQs0Yk2atTQp3PioCHcvQ0bEMDR3H0NGxDJ1wHks1GYiIiIgCAhEREVFAEMg/wp2BCkTHMnR0LENDxzF0dCxDJ2zHUn0IRERERDUEIiIiooDAJ2NMH2PMN8aYrcaYieHOT3lmjHnZGPOLMWZDuPNSnhljWhhjPjPGbDbGbDTGjA13nsorY0xNY8xKY8xa91g+FO48lWfGmChjzBpjzAfhzkt5Z4zZYYxZb4zJMMaklfn21WRQkDEmCvgW6AnsAlYBw6y1m8KasXLKGNMZOAy8aq2NCXd+yitjTFOgqbV2tTGmHpAOXKXzsviMMQaoY609bIypBiwDxlprV4Q5a+WSMeZuIAk4zVrbL9z5Kc+MMTuAJGttWJ7poBqCk6UAW62131trTwBvAFeGOU/llrV2KfBruPNR3llrd1trV7uvDwGbgWbhzVX5ZB2H3clq7p+ujErAGNMcuAJ4Kdx5kVOngOBkzYCdXtO70A+vRBBjTDTQBvg6zFkpt9xq7gzgF+Bja62OZclMA/4M5IU5HxWFBT4yxqQbY0aV9cYVEJzM+HhPVw8SEYwxdYG5wF3W2oPhzk95Za3NtdYmAM2BFGOMmrOKyRjTD/jFWpse7rxUIB2stYnA5cAdbpNrmVFAcLJdQAuv6ebAz2HKi4iH2949F5hlrX0n3PmpCKy1+4ElQJ/w5qRc6gD0d9u93wAuM8b8O7xZKt+stT+7/38B5uE0YZcZBQQnWwVcYIxpaYypDgwF3gtznqSSczvC/QvYbK19Mtz5Kc+MMY2MMae7r2sBPYAtYc1UOWStvdda29xaG43zO/mptfaPYc5WuWWMqeN2GMYYUwfoBZTp3VkKCAqx1uYAo4FFOB233rTWbgxvrsovY8xsYDnQyhizyxhzY7jzVE51AK7DuQrLcP/6hjtT5VRT4DNjzDqcC4CPrbW6ZU7CrTGwzBizFlgJLLDW/l9ZZkC3HYqIiIhqCEREREQBgYiIiKCAQERERFBAICIiIiggEBERERQQiIiICAoIREREBAUEIlJCxphkY8w6Y0xN9ylrGzUmgEj5pQcTiUiJGWP+CtQEagG7rLX/G+YsiUgJKSAQkRJzx/tYBWQBl1prc8OcJREpITUZiMipOBOoC9TDqSkQkXJKNQQiUmLGmPdwhr5tCTS11o4Oc5ZEpISqhjsDIlI+GWOGAznW2teNMVHAV8aYy6y1n4Y7byJSfKohEBEREfUhEBEREQUEIiIiggICERERQQGBiIiIoIBAREREUEAgIiIiKCAQERERFBCIiIgI8P+vv8PVjHuONAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(8,6))\n",
    "plt.scatter(x,Solve_Y(x),s=6, marker='*',c='black')\n",
    "plt.scatter(x,Euler_improved,s=6, marker='*',c='red')\n",
    "plt.scatter(x,Euler_polygonal_arc,s=6, marker='*',c='blue')\n",
    "plt.scatter(x,Euler_dual_step,s=6, marker='*',c='green')\n",
    "plt.scatter(x,Euler_dual_step_dual_compensate,s=6, marker='*',c='orange')\n",
    "plt.scatter(x,Runge_Kutta_four_order,s=6, marker='*',c='pink')\n",
    "plt.scatter(x,Adams_pc,s=6, marker='*',c='cyan')\n",
    "plt.scatter(x,Miline_Hamming_pc,s=6, marker='*',c='violet')\n",
    "\n",
    "\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "Parsing_Solution=mpatches.Patch(color='black', label='Parsing_Solution')\n",
    "Euler_improved_match=mpatches.Patch(color='red', label='Euler_improved')\n",
    "Euler_polygonal_arc_match=mpatches.Patch(color='blue', label='Euler_polygonal_arc')\n",
    "Euler_dual_step_match=mpatches.Patch(color='green', label='Euler_dual_step')\n",
    "Euler_dual_step_dual_compensate_match=mpatches.Patch(color='orange', label='Euler_dual_step_dual_compensate')\n",
    "Runge_Kutta_four_order_match=mpatches.Patch(color='pink', label='Runge_Kutta_four_order')\n",
    "Adams_pc_match=mpatches.Patch(color='cyan', label='Adams_pc')\n",
    "Miline_Hamming_pc_match=mpatches.Patch(color='violet', label='Miline_Hamming_pc')\n",
    "plt.title('Comparison of different numerical deviarion methods in range {}-{} with h={:.1f}'.format(x_min,x_max,h))\n",
    "plt.legend(handles=[Parsing_Solution,Euler_improved_match,Euler_polygonal_arc_match,Euler_dual_step_match,\\\n",
    "                    Euler_dual_step_dual_compensate_match,Runge_Kutta_four_order_match,\\\n",
    "                    Adams_pc_match,Miline_Hamming_pc_match],loc='best')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "e0dd70d6",
   "metadata": {},
   "outputs": [],
   "source": [
    "Miline_Hamming_pc_Infty_errors=[]\n",
    "for h in seps:\n",
    "    x=np.arange(x_min,x_max,h)\n",
    "    f_n=[]\n",
    "    Miline_Hamming_pc=[]\n",
    "    for i in range(len(x)):\n",
    "        if x[i]==initial_x:\n",
    "            f_n=[F(initial_x,initial_y)]\n",
    "            Miline_Hamming_pc.append(initial_y)\n",
    "        else:\n",
    "            if i<4:\n",
    "                yn=Runge_Kutta_4(x[i-1],Miline_Hamming_pc[i-1],h,F)\n",
    "                Miline_Hamming_pc.append(yn)\n",
    "                f_n.append(F(x[i],yn))\n",
    "            else:\n",
    "                p_=Miline_Hamming_pc[i-4]+4*h/3*(2*f_n[i-1]-f_n[i-2]+2*f_n[i-3])\n",
    "                f_n_=F(x[i],p_)\n",
    "                c_=1/8*(9*Miline_Hamming_pc[i-1]-Miline_Hamming_pc[i-3])+3*h/8*(f_n_+2*f_n[i-1]-f_n[i-2])\n",
    "                Miline_Hamming_pc.append(c_)\n",
    "                f_n.append(F(x[i],c_))\n",
    "            \n",
    "    Miline_Hamming_pc_Infty_errors.append(np.max(np.abs(Solve_Y(x)-Miline_Hamming_pc)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "cd94f0bc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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nswrwPWPXJQuXVprrXVKSoq+//779S+//KK11rpbt246MjJSa631+fPndd26dbXWWs+YMUPXr19fX758WcfHx+s6deroEydO6FOnTum6devqmJgYnZSUpLt06aKfeuoprbXWQ4cO1atXr9Zaa338+HHdtGlTh+mZMWOGrlChgu7UqZNOSkpKX//GG2/o999/P305ODhYHz16VB89elQHBwenr//zzz91WFhY+vK1a9d0fHy81lrrAwcOaHv/D1a2x3L0PrNem6zpGjFihP7pp5+01lp/+eWX+p///KfD891xxx36wIEDWmutN2zYoG+//XattdaPPPKIDgsL0ykpKXaXW7RooVeuXKm11vrf//63fvrpp9PTNXbs2PTjh4SE6JMnT2qttb506ZLDdBQ12T4XQgi38fe3Hzr8/V1zfGCTthMTS2ZxugfEx8cTGhpKpUqVuHjxInfddVeu+/To0YNy5crh7+9P8+bNOX78OH///TfdunWjYsWK+Pr6MmjQoPTtV6xYwbhx4wgNDaVfv35cvXqV2NhYh8dv06ZN+jELKjk5mccff5wWLVowaNAg9uzZ4/S+9t5nbh577DFmzJgBwIwZMxg5cqTd7eLi4li3bh2DBg0iNDSUJ554gujo6PTXBw0ahLe3d7blK1eucPnyZbp16wbAI488kimHPXjw4PS/O3fuzIgRI5g2bRqpqalOv28hxI3jyBF48EGwFhYGBMCwYXD0qHvPK8XpLmKtE79y5Qp9+vRh8uTJjB8/Hh8fH9LS0gCy9dv18/NL/9vb25uUlBSHDc/ANFBbv349AQEBTqWpadOmTJw4kQceeIDly5cTHBycKT320uTIRx99RLVq1di+fTtpaWn4+/s7tR/Yf5+56dy5M8eOHeOvv/4iNTXVYUO5tLQ0ypcvz7Zt2+y+Xrp06RyXHbHdburUqWzcuJGlS5cSGhrKtm3bqFSpklPHEULcGGrUgLJlITnZtIdOTDTLTrSLLhDJibtYuXLl+PTTT/nggw9ITk6mXr16bN68GYDw8PBc9+/QoQN//fUXly5dIiUlhQULFqS/dvfdd/P555+nLzsKXLY6derE1KlTCQsL48SJE9SrV48tW7YAsGXLFo5afiaWKVMmU64+6/KVK1eoUaMGXl5ezJo1y+U50qznA3j44YcZOnSow1w4QNmyZalfvz7z588HTPXQ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DaLlk+9i/fr14/nnn2flypXpude8sM7XbTtXt9aaBQsW0KRJkwKlLSEhgSeffJJNmzZRu3ZtJkyYkKd5zG23ybqd7TaO3pP1vdg+54Xt3Oz25mnPi/zMi167dm2qVavGH3/8wcaNG9Nz5fakpaWxfv16uznkvMyLbvs+bbd7+eWXCQsLY9myZdxyyy2sWLGCpk2b5voehBAF52iQl0dbP8ovh35hUPNBdKxVONOAlMiceLXSrp2LNC/HGzVqFK+//jotWrRw2fnvuecePvvss/TAt3Xr1nwdxxqwK1euTFxcXKG2WM+qS5cuLFiwgLS0NM6ePcvKlStz3Wfu3Lnpz7feeisAPXr0YMqUKQCkpqZy9epVl6XR3rzojz32GA899BAPPPBAeq7YnrvvvpvPP/88fdnZIW07derEjz/+CJhGdl26dLG73eHDh2nRogUvvfQS7dq1S28/IYRwv8hI8PKC1q0zr18XtQ5/H39a12htf0c3KJE5cU/26a5Vq1aO83vnx7///W+eeeYZWrZsidaaevXqZarLdlb58uV5/PHHadGiBfXq1aO9B0cpuO+++/j9998JCQmhcePGdOzYMdei8MTERDp27EhaWhpz5swB4JNPPmH06NF8/fXXeHt7M2XKlPQAX1C33357ejXGv/71LwYPHky/fv0YOXJkrhO1fPrppzz11FO0bNmSlJQUunbtytSpU3M956effsqoUaN4//33qVKlCjNmzLC73ccff8yff/6Jt7c3zZs3p1evXvl6j0KIvIuMhOBgyFqItjZqLe1vak8p71KFlha3zSfuLjKfeMkRFxdHUFAQMTExdOjQgbVr11K9uv1GIPXq1WPTpk0OG5IVlk2bNvHss8+yevVqj6bDGfK5EML1tIYqVeDee+HrrzPWxyfHU+6dcvzz1n/yzp2uHyfDE/OJC5GjPn36cPnyZZKSkvj3v//tMIAXFe+88w5TpkzJsS5cCFGyHTsGMTHZ68M3nd5EcloynWt3LtT0SBAvppYvX85LL72UaV39+vX56aefPJSivLNXDz5gwACOHs3cr/Ldd991qvU4QExMDD169Mi2/vfff6dSpUr5SWa6l19+Ob2LnNXbb7/N/PnzM60bNGgQr776aoHOJYQomhw1alsbZcaCuLW2a6rznFViitObNm1a4BbLQpQUWmv27dsnxelCuNgLL8Cn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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(8,6))\n",
    "plt.plot(seps,Runge_Kutta_Infty_errors, marker='*',c='red')\n",
    "plt.plot(seps,Adams_pc_Infty_errors, marker='*',c='blue')\n",
    "plt.plot(seps,Miline_Hamming_pc_Infty_errors,marker='*',c='green')\n",
    "Runge_Kutta_Infty_errors_match=mpatches.Patch(color='red', label='Runge_Kutta_Infty_errors')\n",
    "Adams_pc_Infty_errors_match=mpatches.Patch(color='blue', label='Adams_pc_Infty_errors')\n",
    "Miline_Hamming_pc_Infty_errors_match=mpatches.Patch(color='green', label='Miline_Hamming_pc_Infty_errors')\n",
    "\n",
    "plt.xlabel('h')\n",
    "plt.ylabel('Infinity Error')\n",
    "plt.title('Infinity errors of different 4-th order methods in range {}-{} with different h'.format(x_min,x_max))\n",
    "plt.legend(handles=[Runge_Kutta_Infty_errors_match,Adams_pc_Infty_errors_match,\\\n",
    "                    Miline_Hamming_pc_Infty_errors_match],loc='best')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5abf69af",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "d1d7c1ed",
   "metadata": {},
   "source": [
    "## 双改进Miline-Hamming 预测-估计系统"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "60c0ebfd",
   "metadata": {},
   "outputs": [],
   "source": [
    "x=np.arange(x_min,x_max,0.1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "b9a3b0e1",
   "metadata": {},
   "outputs": [],
   "source": [
    "Miline_Hamming_dual_compensate=[]\n",
    "predictions=[0 for _ in range(4)]\n",
    "corrections=[0 for _ in range(4)]\n",
    "f_n=[]\n",
    "for i in range(len(x)):\n",
    "    if x[i]==initial_x:\n",
    "        Miline_Hamming_dual_compensate.append(initial_y)\n",
    "        f_n.append(F(initial_x,initial_y))\n",
    "    else:\n",
    "        if i<4:\n",
    "            yn=Runge_Kutta_4(x[i-1],Miline_Hamming_dual_compensate[i-1],h,F)\n",
    "            Miline_Hamming_dual_compensate.append(yn)\n",
    "            f_n.append(F(x[i],yn))\n",
    "        else:\n",
    "            # predict\n",
    "            p_=Miline_Hamming_dual_compensate[i-4]+4*h/3*(2*f_n[i-1]-f_n[i-2]+2*f_n[i-3])\n",
    "            predictions.append(p_)\n",
    "            # compensate\n",
    "            m_=p_+112/121*(corrections[i-1]-predictions[i-1])\n",
    "            # calculate\n",
    "            m_partial=F(x[i],m_)\n",
    "            # correct\n",
    "            c_=1/8*(9*Miline_Hamming_dual_compensate[i-1]-Miline_Hamming_dual_compensate[i-3])+3*h/8*(m_partial+2*f_n[i-1]-f_n[i-2])\n",
    "            corrections.append(c_)\n",
    "            # compensate\n",
    "            y_=c_-9/121*(c_-p_)\n",
    "            Miline_Hamming_dual_compensate.append(y_)\n",
    "            f_n.append(F(x[i],y_))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "bbc03a09",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[]"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(8,6))\n",
    "plt.scatter(x,Miline_Hamming_pc,s=6, marker='*',c='black')\n",
    "plt.scatter(x,Miline_Hamming_dual_compensate,s=6, marker='*',c='red')\n",
    "plt.plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "261e509e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.013228417652385804"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.max(np.abs(Solve_Y(x)-Miline_Hamming_dual_compensate))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "ef7ab7a7",
   "metadata": {},
   "outputs": [],
   "source": [
    "Miline_Hamming_pc_dual_compensate_Infty_errors=[]\n",
    "for h in seps:\n",
    "    x=np.arange(x_min,x_max,h)\n",
    "    Miline_Hamming_dual_compensate=[]\n",
    "    predictions=[0 for _ in range(4)]\n",
    "    corrections=[0 for _ in range(4)]\n",
    "    f_n=[]\n",
    "    for i in range(len(x)):\n",
    "        if x[i]==initial_x:\n",
    "            Miline_Hamming_dual_compensate.append(initial_y)\n",
    "            f_n.append(F(initial_x,initial_y))\n",
    "        else:\n",
    "            if i<4:\n",
    "                yn=Runge_Kutta_4(x[i-1],Miline_Hamming_dual_compensate[i-1],h,F)\n",
    "                Miline_Hamming_dual_compensate.append(yn)\n",
    "                f_n.append(F(x[i],yn))\n",
    "            else:\n",
    "                # predict\n",
    "                p_=Miline_Hamming_dual_compensate[i-4]+4*h/3*(2*f_n[i-1]-f_n[i-2]+2*f_n[i-3])\n",
    "                predictions.append(p_)\n",
    "                # compensate\n",
    "                m_=p_+112/121*(corrections[i-1]-predictions[i-1])\n",
    "                # calculate\n",
    "                m_partial=F(x[i],m_)\n",
    "                # correct\n",
    "                c_=1/8*(9*Miline_Hamming_dual_compensate[i-1]-Miline_Hamming_dual_compensate[i-3])+3*h/8*(m_partial+2*f_n[i-1]-f_n[i-2])\n",
    "                corrections.append(c_)\n",
    "                # compensate\n",
    "                y_=c_-9/121*(c_-p_)\n",
    "                Miline_Hamming_dual_compensate.append(y_)\n",
    "                f_n.append(F(x[i],y_))\n",
    "            \n",
    "    Miline_Hamming_pc_dual_compensate_Infty_errors.append(np.max(np.abs(Solve_Y(x)-Miline_Hamming_dual_compensate)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "0f026940",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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2+3mvvvuo3379lxzzTUMHjy42NqCZs2a8cQTT9CzZ0969uzJjh07ADhy5AjXX389nTt3pnPnzixbtqzMx0YIIXwVHw8XXgg1aoD7jJt61IMYsCrTJh5uC+fmjjez++HdAS2HBHE/GjVqFF9++SXp6emsX7+eXr1Kn3yudu3aJCQkcO+99+ZUub/88stcdtllxMfHM3/+fB577DFSUlKK3MbixYuJjY3Nuc2dOzfnuQceeID4+PicWoPvvvsu5zmHw8GiRYsYP3481113He+++y4bN25kypQpnDhxAoAdO3bw8MMPs379erZu3coXX3zBkiVLeP311/nHP/5RaHkSExNZsmQJ3333XU6O+VmzZrFnzx42bNjAhx9+yPLly0s8NtHR0axcuZIHHnggZ9rXhx56iP79+7Nu3ToSEhJo3759idsRQohz5d2pLbs9/Gi1o7i0C4uykO5KJzokOuDt4hLE/ahTp07s2bOHadOmMXjw4DJtY9iwYQB069aNPXv2ADBv3jxeeeUVYmNjGTBgAOnp6ezbt6/IbVx88cWsXbs25+ZdtT1//nx69epFx44d+f3339m0aVPOc97zmLdv356YmBhCQkJo0aIF+/ebnDzNmzenY8eOWCwW2rdvz8CBA1FK0bFjx5zy5jd06FAsFgvt2rXjiGdmmiVLljBixAgsFgv169fn0ksvLfHYZNdsjB49Oifo//7779x7770AWK1WqlUL7IxBQghx+DAcOJAvyYsNVmaa2shHej/C+G7jOZwc+A7R0ibuZ9deey1//etfWbBgQc7Va2lkzx9utVpxOp2AaW/5+uuvad269TmVLT09nfvuu49Vq1bRuHFjJkyYUKp5zL3Xyb+e9zpFvafs9+J9Xxrec7MXNk+7EEKUh0KTvDSwMabrGL7b+R0j2o2gV6PymQakSl6J14soYe7QAG7vzjvv5Nlnn6Vjx45+2/9VV13FO++8kxP41qxZU6btZAfs2rVrk5ycXK491vPr168fX3/9NW63myNHjrBgwYISX5M9jer06dPp06cPAAMHDmTixIkAuFwuzp49G7AyCyEEmCBusUCXLqCdGtdhF9aGVpbuX0qoLZQuMV3KrSxV8ko8mGO6GzVqxMMPP+zXbT7zzDP85S9/oVOnTmitadasWZ62bF9Vr16dsWPH0rFjR5o1a0aP7NPIILjhhhv47bff6NChA61ataJXr14lVoVnZGTQq1cv3G4306ZNA+Ctt95i3LhxfPTRR1itViZOnJgT4IUQIhDi46F9e4iIAOd+F7jB1sjGsiXL6NGgBw6ro9zKErD5xANF5hOvOpKTk4mMjOTEiRP07NmTpUuXUr9+4Z1AmjVrxqpVq6hdu3Y5l/L8I98nIYqmNdSpA9ddBx99BOkr0kn7JY2QB0Ko/t/qPNrnUf55+T/9vt9gzCcuRLGuueYaTp8+TWZmJs8880yRAVwIISqKPXvgxIl8SV6qW1h1dhVZ7iz6Nu5bruWRIF5J/fzzzzzxxBN5ljVv3pzZs2cHqUSlV1g7+PXXX8/u3XnHVf7rX/8qsue7EEKUp0I7tTWxsWy/yVEhQVz45KqrruKqq64KdjH8rjKdhAghzj/x8eBwQMeO4D7rRidpbI1sLN25lDa121ArvFa5lqdK9k4XQgghAiE+HmJjTSB3HjDDaq0NrSzbv4y+jcr3KhwkiAshhBA+cblg9eqCSV522nZyMu0kFzW5qNzLJEFcCCGE8MG2bZCcnLc93BpjZenBpUD5t4dDFW0TP/2f0+gU/w2dUxGK6v9X3W/bE0IIUfl4d2rTTo0r0UVIzxCW7V9GzbCatK51blk1y6JKXon7M4D7uj2ZTzxXoOcTL+w9lkazZs04fvy4H0tUcb355pukpqYGuxhCVAnx8RAZCa1bg+uIC1xga2hj6f6l9G3cNyjpoKvklXgwyHziuWQ+8YrjzTff5JZbbiE8PDzYRRGi0ouPh27dwGqFdE+ntrO1zrLtxDbGxI4JSpmq5JV4sMh84oGbT/ynn36iTZs29OvXj1mzZuUs967VAOjQoUPOmPKhQ4fSrVs32rdvz+TJk30+Rp999hmdOnWic+fOObUre/fuZeDAgXTq1ImBAwfmzCI3ZswY7r33Xi699FJatGjBwoULufPOO2nbti1jxozJ2WZkZCSPPvooXbt2ZeDAgRw7dgyAnTt3MmjQILp168bFF1+c829e1HFLTEzkkksuITY2lg4dOrB48WIA7r33Xrp370779u157rnnAHj77bc5dOgQl156ac4scfPmzaNPnz507dqVESNGkJyc7PNxEeJ8lpkJa9fmbQ9X0Yrlp8yMihc1Lv9ObSBB3K9kPvHAzCeenp7O2LFj+fbbb1m8eDGHD/uWG//jjz9m9erVrFq1irffftunWeU2bdrEyy+/zO+//866det46623co7bbbfdxvr167n55pt56KGHcl5z6tQpfv/9d9544w2GDBnCI488wqZNm9iwYQNr164FzIlY165dSUhIoH///jz//PMAjBs3jnfeeYfVq1fz+uuvc9999xV73L744guuuuoq1q5dy7p164iNjQXMZ2TVqlWsX7+ehQsXsn79eh566CEaNGjA/PnzmT9/PsePH+ell17i119/JSEhge7du/Of//zHp2MpxPluwwYTyHPmED/oMuPD9y/FbrHTvUGBjKjlQoK4H8l84nsKLc+5zie+detWmjdvTsuWLVFKccstt5R8IDFXop07d6Z3797s37+fP//8s8TX/P777wwfPjwnR3vNmjUBWL58OTfddBMAt956K0uWLMl5zZAhQ3KOQb169fIcn+xjYrFYGDlyJAC33HILS5YsITk5mWXLljFixAhiY2O55557SExMLPa49ejRg08++YQJEyawYcMGoqKiAJgxYwZdu3alS5cubNq0ic2bNxd4bytWrGDz5s1cdNFFxMbG8umnn7J3716fjqUQ5zvvTm3uJDfuM24z6cn+ZXSN6UqYPSwo5ZI2cT+T+cSLfk/Z78X73ldFdRix2Wy43e487xFM57dff/2V5cuXEx4ennPyUxKttU+dU7zX8eW4FfZ6t9tN9erVc67W8yvsuF1yySUsWrSI77//nltvvZXHHnuMiy++mNdff534+Hhq1KjBmDFjCn2vWmuuuOKKnBnghBC+i4+HWrWgWTPI2ur5bY7RxP8az73d7w1auarklbiK8G8PwdJsT+YT901p5hNv06YNu3fvZufOnQB5glCzZs1ISEgAICEhISfv+pkzZ6hRowbh4eFs3bqVFStW+FSugQMHMmPGjJwTsJMnTwLQt29fvvzySwCmTp1Kv379SvV+3W53zvH+4osv6NevH9HR0TRv3pyvvvoKMEF23bp1xW5n79691K1bl7Fjx3LXXXeRkJDA2bNniYiIoFq1ahw5coQff/wxZ/2oqCiSkpIA6N27N0uXLmXHjh0ApKamsn379lK9DyHOV/Hx5ipcKU+SFyts0BtId6YHrT0cquiVeDDHdMt84r4pzXzioaGhTJ48mbi4OGrXrk2/fv3YuHFjznY+++wzYmNj6dGjB61atQJg0KBBTJo0iU6dOtG6dWt69+7tU7na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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(8,6))\n",
    "plt.plot(seps,Runge_Kutta_Infty_errors, marker='*',c='red')\n",
    "plt.plot(seps,Adams_pc_Infty_errors, marker='*',c='blue')\n",
    "plt.plot(seps,Miline_Hamming_pc_Infty_errors,marker='*',c='green')\n",
    "plt.plot(seps,Miline_Hamming_pc_dual_compensate_Infty_errors,marker='*',c='violet')\n",
    "\n",
    "\n",
    "Runge_Kutta_Infty_errors_match=mpatches.Patch(color='red', label='Runge_Kutta')\n",
    "Adams_pc_Infty_errors_match=mpatches.Patch(color='blue', label='Adams_pc')\n",
    "Miline_Hamming_pc_Infty_errors_match=mpatches.Patch(color='green', label='Miline_Hamming_pc')\n",
    "Miline_Hamming_pc_dual_compensate_Infty_errors_match=mpatches.Patch(color='violet', label='Miline_Hamming_dual_compensate')\n",
    "plt.xlabel('h')\n",
    "plt.ylabel('Infinity Error')\n",
    "plt.title('Infinity errors of different 4-th order methods in range {}-{} with different h'.format(x_min,x_max))\n",
    "plt.legend(handles=[Runge_Kutta_Infty_errors_match,Adams_pc_Infty_errors_match,\\\n",
    "                    Miline_Hamming_pc_Infty_errors_match,Miline_Hamming_pc_dual_compensate_Infty_errors_match],loc='best')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2b1c6635",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
